home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-07-23 | 118.8 KB | 3,319 lines |
- 2000-07-20 drscholl <drscholl@users.sourceforge.net>
-
- * login.c:
- clone checker and max connections should only be checked for user logins,
- not server logins.
-
- * napster.txt:
- updated napster.txt on the 870 (add directory) command
-
- * add_file.c, handler.c, search.c:
- fixed possible buffer overrun in add_directory()
-
- fixed handle_connection() to avoid sending MSG_SERVER_USER_SHARING commands
- after every MSG_CLIENT_ADD_DIRECTORY command.
-
- added the server from which the command came to the log() messages generated
- by remote_search() and remote_search_result()
-
- 2000-07-16 drscholl <drscholl@users.sourceforge.net>
-
- * config.c, login.c, main.c, opennap.h, sample.conf:
- added clone checking controlled by new `max_clones' config var.
-
- 2000-07-13 drscholl <drscholl@users.sourceforge.net>
-
- * browse.c:
- fixed bug in new_browse() where no results would be returned in
- max_browse_results was set to 0 (which should mean unlimited)
-
- 2000-07-08 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, configure.in, opennap.h:
- fixed buffer overflow in add_directory() when the directory portion of the
- filename was >=255 chars
-
- 2000-07-06 drscholl <drscholl@users.sourceforge.net>
-
- * server_usage.c:
- added bytes in and bytes out to the server stats
-
- 2000-07-02 drscholl <drscholl@users.sourceforge.net>
-
- * README, opennap.h, privmsg.c:
- changed rehash numeric to 10117 to avoid conflict with old server ping
- numeric
-
- added `rehash' to the list of operserv commands
-
- * README, config.c, handler.c, opennap.h:
- added rehash (10116) command to cause a server to reload it config files
-
- * README, add_file.c, server_connect.c:
- log message for bitrateToMask() said freqToMask
-
- server_connect should check for missing host argument
-
- 2000-06-30 drscholl <drscholl@users.sourceforge.net>
-
- * muzzle.c:
- added missing return when attempting to unmuzzle a user that isnt muzzled
-
- 2000-06-29 drscholl <drscholl@users.sourceforge.net>
-
- * channel.c:
- channel_voice() did not check for permission to execute the command
-
- * browse.c, channel.c, muzzle.c, serverlib.c:
- fixed compilation warnings about unused `len'
-
- pop_user_server() had a bad log() message with the message tag value causing
- a segfault
-
- muzzle() should ensure that db is not NULL before using it
-
- 2000-06-27 drscholl <drscholl@users.sourceforge.net>
-
- * whois.c:
- append_string() allocated extra space but didnt copy the data to append
-
- * channel.c, join.c:
- bugfixes from panasync. join() was setting the wrong user to channel
- operator since chanUser was reused for sending a join message to all clients
- in the channel.
-
- in channel_muzzle(), need to check for sender!=NULL when checking the user
- level permission
-
- 2000-06-26 drscholl <drscholl@users.sourceforge.net>
-
- * browse.c, channel.c, muzzle.c, whois.c:
- muzzled users should not be able to channel wallop
-
- 2000-06-24 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, NEWS, README:
- post 0.34 release commit
-
- 2000-06-23 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, channel.c:
- channel_mode should not allow a user below the channel level to change
- the mode
-
- 2000-06-22 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, README, channel.c, handler.c, opennap.h, privmsg.c, public.c, serverlib.c, synch.c:
- added channel voice and muzzle commands
-
- * channel.c, join.c, opennap.h, usermode.c:
- removed channel and topic usermode flags since they are no longer used
-
- reworked join() to allow channel ops to bypass the +INVITE and limit checks
-
- * channel.c, configure, configure.in, join.c, kick.c, opennap.h, topic.c:
- updated version to 0.34
-
- removed notify_mods() from all channel specific calls. notify_ops() will
- now notify mods+ in the channel.
-
- 2000-06-21 drscholl <drscholl@users.sourceforge.net>
-
- * napster.txt, privmsg.c:
- added invite and mode command to chanserv
-
- * README, browse.c, handler.c, opennap.h, whois.c:
- added new experimental browse command (10301/10302) for more compact browse
- listings
-
- 2000-06-19 drscholl <drscholl@users.sourceforge.net>
-
- * README, channel.c, opennap.h, synch.c, topic.c:
- added +TOPIC channel mode to allow any user to change the topic
-
- 2000-06-17 drscholl <drscholl@users.sourceforge.net>
-
- * channel.c:
- invite message printed the wrong user for who issued the invite
-
- * README, channel.c, free_user.c, handler.c, join.c, opennap.h, serverlib.c, synch.c, util.c:
- added +INVITE channel mode
-
- * README, channel.c, opennap.h, public.c, synch.c:
- added +MODERATED channel mode - only ops and mods+ can speak in public
-
- * README, channel.c, handler.c, join.c, list_channels.c, opennap.h, part_channel.c, synch.c, whois.c:
- added channel_mode(10209) command
-
- added +PRIVATE channel mode to make the channel not show up in the channel
- lists or whois response
-
- 2000-06-15 drscholl <drscholl@users.sourceforge.net>
-
- * network.c: solaris doesnt define INADDR_NONE
-
- * buffer.c:
- avoid coredump in queue_data() when buffer_new() fails
-
- * search.c, server_usage.c:
- server stat message should use %u for the number of total kbytes
-
- search expected "EQUALS" intead of "EQUAL TO"
-
- 2000-06-14 drscholl <drscholl@users.sourceforge.net>
-
- * README, channel.c, handler.c, opennap.h, privmsg.c:
- added channel_wallop (10208) command to send a message to all mods+ and
- channel operators for a specified channel
-
- * config.c:
- default max_nick_length changed to 19 since the win32 napster client can't
- cope with anything longer than this
-
- * userdb.c:
- expired nicks weren't removed from User_Db until the server restarted
-
- * login.c, userdb.c:
- need to use strtoul() to convert ip address from string to unsigned int
- instead of atoi()
-
- * Makefile.am, Makefile.in, add_file.c, buffer.c, free_user.c, init.c, login.c, main.c, mempool.c, mempool.h, opennap.h, remove_connection.c, search.c, serverlib.c:
- removed mempool code. it turned out to be less efficient that malloc/free
-
- 2000-06-13 drscholl <drscholl@users.sourceforge.net>
-
- * buffer.c, login.c, server_connect.c, server_login.c, serverlib.c:
- buffer_queue() did not set the .datasize after copying data
-
- * buffer.c:
- fixed buffer_queue() to handle input larger than BUFFER_SIZE bytes
-
- * remove_connection.c:
- fixed memory leak with free'g the input buffers for client connections
-
- * buffer.c: fixed bug in buffer_compress()
-
- * buffer.c, debug.c, free_user.c, init.c, login.c, main.c, mempool.c, opennap.h, remove_connection.c, serverlib.c, util.c:
- added memory pool management for users, connections, send queue buffers
-
- * Makefile.am, Makefile.in, add_file.c, init.c, main.c, mempool.c, mempool.h, opennap.h, search.c:
- added initial support for memory pools
-
- 2000-06-11 drscholl <drscholl@users.sourceforge.net>
-
- * README, login.c:
- servers should not issue KILL messages to the server from which a nick
- collision occurs
-
- 2000-06-10 drscholl <drscholl@users.sourceforge.net>
-
- * setup.c, Makefile.in, TODO, search.c:
- rewrote search_internal() to be able to parse arbitrary length search
- strings
-
- setup should create files as -rw-------
-
- * Makefile.in, TODO, configure, configure.in, free_user.c, kill_user.c, login.c, opennap.h, synch.c:
- added .killed member to CONNECTION so that a QUIT is not issued when a local
- user is killed (the KILL is sufficient)
-
- consolodated the MSG_SERVER_USER_IP message into MSG_CLIENT_LOGIN so that
- nick collision can be handled more gracefully. This allows the server to
- reject the newer user instead of rejecting both clients.
-
- 2000-06-09 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, channel.c, configure, configure.in, muzzle.c:
- check for -lsocket (needed for os/2)
-
- fixed segfault in muzzle() for log message when the user is already muzzled
- and the user is not logged in
-
- * NEWS, README, configure, configure.in, opennap.h:
- post 0.32 commit
-
- 2000-06-08 drscholl <drscholl@users.sourceforge.net>
-
- * channel.c, login.c:
- bug in channel_op() allows any user to make themself a channel operator.
- missing a return statement after the permission denied message
-
- servers now synch the user level when a user logs in to ensure all servers
- have the same settings
-
- * Makefile.in, NEWS, README, motd.c, opennap.h, opennap.opt, setup.dsp, ChangeLog:
- updated for 0.31 release
-
- motd.c was missing stdlib.h for free()
-
- updated project files for Win32 build
-
- * server_login.c:
- server link log messages are important after all
-
- 2000-06-08 drscholl <drscholl@users.sourceforge.net>
-
- * server_login.c:
- server link log messages are important after all
-
- * kill_user.c, search.c:
- removed log() message from kill_user(). notify_mods() is sufficient
-
-
- removed old log() in search_callback(). problem seems to be fixed.
-
- * server_login.c:
- added more notify_mods() calls in server_login() indicating server link
- failures
-
- 2000-06-07 drscholl <drscholl@users.sourceforge.net>
-
- * motd.c:
- the motd file is now loaded into memory once at startup to reduce the
- overhead of fileio every time a user logs in
-
- 2000-06-06 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- removed log message for bitrate test since it seems to be working
-
- * search.c:
- added a log() message to search_callback() to print why the minbitrate test
- fails for a search to track down the problem we have seen
-
- * list_users.c:
- added new flags to global_user_list():
- z muzzled users
- c cloaked users
-
- * ban.c, login.c, main.c, opennap.h, util.c:
- moved check for ip bans to login() so that the user name can be printed in
- the mod notification
-
- fixed ban save/load to store all bans in the long format. bans are now
- restored to the same order they were dumped, so that the older bans are last
-
- * search.c:
- max linespeed and frequency checked for "at most" when the correct string is
- "at best"
-
- 2000-06-05 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- "at most" qualifiers were not passed to peer servers properly
-
- * tresolv.c, tresolv.h, whois.c, Makefile.am, Makefile.in, configure, configure.in, main.c:
- removed tresolv code since it wont work effectively
-
- 2000-06-04 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- bitrate/samplerate search criteria weren't using BitRate and SampleRate
-
- * configure, free_user.c, login.c, opennap.h, serverlib.c, whois.c:
- initial changes to integrate support for dns names in opennap
-
- * configure, configure.in, whois.c:
- changed whois to report the dns name for local users
-
- * Makefile.am, Makefile.in, ban.c, configure, configure.in, main.c, tresolv.c, tresolv.h:
- added threaded dns lookup routines
-
- 2000-06-03 drscholl <drscholl@users.sourceforge.net>
-
- * README, configure, configure.in, privmsg.c:
- changed server link documentation in README to only describe the method of
- putting both passwords in the file
-
- added op and deop commands to chanserv. removed help for these items in
- operserv.
-
- * config.c:
- allow mods+ to query config variables but not set them
-
- * main.c, server_connect.c:
- added notify_mods() to report server link failures
-
- * search.c:
- added "mp3z" to the list of tokens to ignore in filenames
-
- * change.c, handler.c, opennap.h:
- accept the change_email command even if its not supported
-
- * login.c:
- removed extraneous log messages from login()
-
- added notify_mods() message to register_user()
-
- * add_file.c, remove_file.c:
- removed log message from remove_file() when the file requested is not shared
-
- removed log message from add_file() for duplicates
-
- instead of calling strlen() just calculate the difference between av[0] and
- av[1] to detect long filenames in add_file/share_file
-
- * main.c, server_usage.c:
- added number of registered users to the server stats command
-
- * add_file.c, config.c, init.c, main.c, motd.c, opennap.h, search.c:
- motd is now only fopen'd once since it gets used all the time.
-
- * ChangeLog, Makefile.am, Makefile.in, ban.c, configure, configure.in, kick.c, level.c, login.c, napster.txt, opennap.h, sample.conf:
- fixed core in level(). user might be NULL so don't operate on it.
-
- * config.c:
- changed nick_expire to 31 days by default
-
- * announce.c, buffer.c, handler.c, search.c:
- removed several unnecessary log entries
-
- error message from read() and write() should include the host for which the
- error occured for better debugging
-
- 2000-06-02 drscholl <drscholl@users.sourceforge.net>
-
- * README, change.c, join.c, level.c, login.c, muzzle.c, opennap.h, synch.c, userdb.c:
- added timestamps to the channel modes on synch
-
- changed the .created member of USERDB to be .timestamp. This field is now
- used to keep track of when the entry was last modified so it can be used to
- synch servers better.
-
- fixed synch of cloak status. added ability to absolutely turn cloak on in a
- server->server message
-
- rewrote level() to be much cleaner
-
- muzzle status was not correctly restored from the users file upon startup
-
- new function create_db() created a USERDB struct based on a USER struct to
- avoid duplicate code in level() and muzzle()
-
- * channel.c, handler.c, join.c, level.c, opennap.h, privmsg.c, synch.c, README:
- added timestamp to channels so that servers can sync the level and limit
- properly
-
- added drop channel (10207) command to turn a persistent channel into a
- normal channel
-
- 2000-06-02 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, add_file.c:
- prevent refcount overflow by discarding tokens in excess of 30
-
- 2000-06-01 drscholl <drscholl@users.sourceforge.net>
-
- * hotlist.c:
- only send the notice about the hotlist limit once to avoid flooding the
- client
-
- * main.c:
- added dump_state() to dump all state info (users/channels/bans) to disk
- on a periodic basis.
-
- * add_file.c:
- freqToMask() and bitrateToMask() now display the user and client info in
- their error messages for debugging
-
- * change.c, configure, configure.in, handler.c, level.c, login.c, muzzle.c, opennap.h, userdb.c, whois.c:
- support for keeping client email address is now turned off by default.
- added --enable-email configure option to turn it back on
-
- * add_file.c, config.c, main.c, opennap.h:
- added max_path variable to limit the length of a filename to the add_file()
- command (default: 256)
-
- * add_file.c:
- add-directory() should process the rest of the line when it detects a
- duplicate rather than aborting
-
- * add_file.c, browse.c:
- the browse result didnt use BitRate and SampleRate to get the real values
-
- * add_file.c, browse.c, opennap.h, search.c:
- compacted the DATUM struct since the bitrate and samplerate can only have a
- few defined values
-
- ->hash member of DATUM should not be present when resume is disabled.
-
- * login.c, opennap.h:
- dont need the ->hash member of DATUM struct when compiling without resume
- support
-
- changed kill message for ghosts in login() to include the name of the
- server where the ghost is connected
-
- * login.c: ghost code was still buggy
-
- * login.c:
- fixed broken ghost code which caused a server core
-
- * synch.c:
- syncing the chanops didnt including the :sender parameter
-
- * channel.c, login.c, remove_connection.c:
- fixed login() to allow the ghost detection to proceed with the login without
- killing both connections
-
- 2000-05-31 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, NEWS, README:
- updated files for 0.30 release
-
- * announce.c, login.c:
- announce() should use Operator as the nick when the user is cloaked
-
- invalid_nick() should not allow `operator'
-
- * login.c:
- forgot to issue a KILL when terminating a ghost
-
- * login.c, napster.txt:
- server will now terminate old connections if a client logs in from the same
- ip for the same nick. this allows clients to kill their own ghosts.
-
- * ban.c, browse.c, change.c, channel.c, hotlist.c, join.c, level.c, login.c, opennap.h, privmsg.c, sample.conf, serverlib.c:
- added generic invalid_nick_msg() function
-
- * ban.c, change.c, config.c, kick.c, kill_user.c, main.c, muzzle.c, opennap.h, serverlib.c:
- added max_reason configuration variable to limit the size of the reason
- strings in the muzzle/kick/kill messages
-
- * FAQ, config.c, list_users.c, part.c, public.c:
- re-added the form_message() calls for public() and emote()
-
- * config.c, configure, configure.in, login.c, main.c, napster.txt, opennap.h, sample.conf, topic.c:
- added max_client_string config variable to limit the length of the client
- version string in the login command
-
- strlen() returns ssize_t so have to cast the Max_* to unsigned to avoid
- compiler warnings
-
- * Makefile.in, ban.c, config.c, download.c, hotlist.c, main.c, muzzle.c, opennap.h, privmsg.c, sample.conf, topic.c:
- added max_ignore config var to limit user lists
-
- added max_hotlist config var to limit user lists
-
- added max_topic config var to limit channel topics
-
- more fixes to detect invalid nicknames before they are used
-
- 2000-05-31 drscholl <drscholl@users.sourceforge.net>
-
- * announce.c, login.c:
- announce() should use Operator as the nick when the user is cloaked
-
- invalid_nick() should not allow `operator'
-
- * login.c:
- forgot to issue a KILL when terminating a ghost
-
- * login.c, napster.txt:
- server will now terminate old connections if a client logs in from the same
- ip for the same nick. this allows clients to kill their own ghosts.
-
- * ban.c, browse.c, change.c, channel.c, hotlist.c, join.c, level.c, login.c, opennap.h, privmsg.c, sample.conf, serverlib.c:
- added generic invalid_nick_msg() function
-
- * ban.c, change.c, config.c, kick.c, kill_user.c, main.c, muzzle.c, opennap.h, serverlib.c:
- added max_reason configuration variable to limit the size of the reason
- strings in the muzzle/kick/kill messages
-
- * FAQ, config.c, list_users.c, part.c, public.c:
- re-added the form_message() calls for public() and emote()
-
- * config.c, configure, configure.in, login.c, main.c, napster.txt, opennap.h, sample.conf, topic.c:
- added max_client_string config variable to limit the length of the client
- version string in the login command
-
- strlen() returns ssize_t so have to cast the Max_* to unsigned to avoid
- compiler warnings
-
- * Makefile.in, ban.c, config.c, download.c, hotlist.c, main.c, muzzle.c, opennap.h, privmsg.c, sample.conf, topic.c:
- added max_ignore config var to limit user lists
-
- added max_hotlist config var to limit user lists
-
- added max_topic config var to limit channel topics
-
- more fixes to detect invalid nicknames before they are used
-
- 2000-05-31 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, buffer.c:
- fixed buffer overflow when output to the client is larger than 1024 bytes in
- one command
-
- * ChangeLog, NEWS, main.c:
- updated ChangeLog and NEWS for 0.28 release
-
- schedule dump_channels() to happen at the user_db_interval
-
- 2000-05-30 drscholl <drscholl@users.sourceforge.net>
-
- * opennap.dsp, opennap.h, opennap.opt, remove_connection.c, sample.channels, server_login.c, topic.c, Makefile.in, README, buffer.c, config.c, configure, configure.in, handler.c, main.c:
- zlib is now a requirement to compile. removed all HAVE_LIBZ conditional
- code.
-
- fixed bug in topic() which caused a buffer overrun in the new code to change
- \r and \n to space
-
- * topic.c:
- convert \r and \n in channel topics to space chars to avoid problems when
- writing out the channels file
-
- 2000-05-30 drscholl <drscholl@users.sourceforge.net>
-
- * opennap.dsp, opennap.h, opennap.opt, remove_connection.c, sample.channels, server_login.c, topic.c, Makefile.in, README, buffer.c, config.c, configure, configure.in, handler.c, main.c:
- zlib is now a requirement to compile. removed all HAVE_LIBZ conditional
- code.
-
- fixed bug in topic() which caused a buffer overrun in the new code to change
- \r and \n to space
-
- * topic.c:
- convert \r and \n in channel topics to space chars to avoid problems when
- writing out the channels file
-
- 2000-05-28 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, add_file.c, download.c, upload_complete.c:
- if resume support is disabled, dont store the md5 hash value and just return
- a bogus zero value wherever it is called for
-
- 2000-05-27 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, channel.c, main.c, opennap.h, part_channel.c, privmsg.c, synch.c:
- added missing headers for clean compile with debug turned off
-
- channel ops can now be specified in the `channels' file.
-
- the channels file is now written out when opennap exits
-
- * ban.c, network.c:
- use nlogerr() in bind_interface()
-
- * server_connect.c:
- complete_connect() should abort if con->destroy is already set because the
- error will have been cleared and check_status() will report no error
-
- 2000-05-26 drscholl <drscholl@users.sourceforge.net>
-
- * network.c:
- use inet_addr() to detect dot-quad format hostnames since gethostbyname() is
- unreliable under win95
-
- * README, channel.c, configure, configure.in, handler.c, join.c, kick.c, list_users.c, login.c, main.c, napster.txt, opennap.h, part_channel.c, privmsg.c, public.c, serverlib.c, synch.c, topic.c:
- added support for channel operators
-
- 2000-05-25 drscholl <drscholl@users.sourceforge.net>
-
- * buffer.c:
- fixed crash when opennap is compiled with zlib and linking to a server with
- compression turned off
-
- * ChangeLog, NEWS, ban.c:
- fixed spelling error of Connection in ban.c
-
- updated ChangeLog
-
- * config.c, privmsg.c:
- fixes to compile cleanly with debugging off
-
- 2000-05-25 drscholl <drscholl@users.sourceforge.net>
-
- * config.c, privmsg.c:
- fixes to compile cleanly with debugging off
-
- 2000-05-24 drscholl <drscholl@users.sourceforge.net>
-
- * napster.txt:
- updated spec wrt to the login messages
-
- * README, TODO, handler.c, opennap.h, usermode.c:
- changed user_mode() to user_mode_cmd() to avoid conflict with the
- user_mode macro defined in <asm/ptrace.h> under Linux. This was causing
- problems under LinuxPPC.
-
- * list_users.c:
- allow * to be specified for the server in global_user_list() to match users
- on all servers (for use with the optional flags)
-
- * Makefile.am, Makefile.in, buffer.c, config.c, handler.c, init.c, list_users.c, main.c, network.c, opennap.h, remove_connection.c, server_login.c:
- added `l' flag to global_user_list() to match leeches
-
- rewrote global_user_list_cb() because it did not work for multiple flags
-
- fixed connect() failure under win32 (linking now works!)
-
- fixed to bypass calls to zlib when the compression level is 0 since the
- windows version is not complied with zlib at all.
-
- * Makefile.am, Makefile.in:
- fixed makefile.am to add logchk and remove README.WIN32 and README.UNIX
-
- * logchk: added logchk script
-
- * README.WIN32, TODO:
- removed README.WIN32
-
- MISSING LOG ENTRIES:
-
- fixed bug in public() where the server should not use `tag' to send the
- message to the cl ients since the server uses 403 instead of 402
-
- added napchk script from wolf
-
- added -b command line option to run opennap in the background.
- $config_dir/log is opened as stdout to catch output from the process.
-
- the pid is now stored in $config_dir/pid when opennap starts up to
- facilitate external scripts to restart it when it dies
-
- configure now checks for mlockall()
-
- split Win32 and Unix installation notes into separate files for clarity
-
- updated TODO file
-
- the global MD5 hash table should not be compiled in when RESUME is
- undefined, and the garbage collection should not be scheduled (was causing a
- crash in the win32 build)
-
- ignore search matches when both parties are firewalled
-
- added README.WIN32 and README.UNIX to EXTRA_DIST
-
- check for valid (>0) file size when adding files
-
- privileged users should see who send publics and emotes even when other
- users are cloaked.
-
- Current_Time needs to be set in mkpass.c prior to calling init_random()
-
- corrected mispelling of 'Foreward' in napster.txt
-
- * join.c, login.c:
- added $ to the list of characters not allowed in nick or channel names.
- many clients use this character to denote a variable
-
- * README.WIN32, init.c:
- need <limits.h> for _POSIX_PATH_MAX
-
- * README, README.UNIX, README.WIN32:
- rewrote installation instructions to reflect the new setup utility
-
- * Makefile.am, Makefile.in, opennap.dsw, opennap.opt, setup.c, setup.dsp:
- added setup utility
-
- 2000-05-23 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, NEWS, public.c:
- fixed bug in public() where the server should not use `tag' to send the
- message to the cl ients since the server uses 403 instead of 402
-
- MISSING LOG ENTRIES:
-
- added napchk script from wolf
-
- added -b command line option to run opennap in the background.
- $config_dir/log is opened as stdout to catch output from the process.
-
- the pid is now stored in $config_dir/pid when opennap starts up to
- facilitate external scripts to restart it when it dies
-
- configure now checks for mlockall()
-
- split Win32 and Unix installation notes into separate files for clarity
-
- updated TODO file
-
- the global MD5 hash table should not be compiled in when RESUME is
- undefined, and the garbage collection should not be scheduled (was causing a
- crash in the win32 build)
-
- ignore search matches when both parties are firewalled
-
- added README.WIN32 and README.UNIX to EXTRA_DIST
-
- check for valid (>0) file size when adding files
-
- privileged users should see who send publics and emotes even when other
- users are cloaked.
-
- Current_Time needs to be set in mkpass.c prior to calling init_random()
-
- corrected mispelling of 'Foreward' in napster.txt
-
- * Makefile.am, napchk:
- added napchk script from wolf
-
- MISSING LOG ENTRIES:
-
- added -b command line option to run opennap in the background.
- $config_dir/log is opened as stdout to catch output from the process.
-
- the pid is now stored in $config_dir/pid when opennap starts up to
- facilitate external scripts to restart it when it dies
-
- configure now checks for mlockall()
-
- split Win32 and Unix installation notes into separate files for clarity
-
- updated TODO file
-
- the global MD5 hash table should not be compiled in when RESUME is
- undefined, and the garbage collection should not be scheduled (was causing a
- crash in the win32 build)
-
- ignore search matches when both parties are firewalled
-
- added README.WIN32 and README.UNIX to EXTRA_DIST
-
- check for valid (>0) file size when adding files
-
- privileged users should see who send publics and emotes even when other
- users are cloaked.
-
- Current_Time needs to be set in mkpass.c prior to calling init_random()
-
- corrected mispelling of 'Foreward' in napster.txt
-
- * login.c:
- fixed bug in login.c where it should have tested for
- MSG_CLIENT_LOGIN_REGISTER instead of MSG_CLIENT_REGISTER. this was causing
- automatic registration of all users who weren't already registered.
-
- * Makefile.am, Makefile.in:
- added README.WIN32 and README.UNIX to EXTRA_DIST
-
- * Makefile.in, list_users.c, opennap.h, whois.c:
- added support for the global user list (831) command
-
- 2000-05-22 drscholl <drscholl@users.sourceforge.net>
-
- * sample.conf:
- updated sample configuration file with new `server_ports' variable
-
- * config.c, configure, configure.in, main.c, network.c, opennap.h, resume.c:
- support for resume is now turned off by default, use configure
- --enable-resume to turn it back on
-
- added support for a list type configuration variable
-
- boolean config vars could not be set by default or reset via the client
-
- removed server_port configuration variable
-
- created new list configuration variable `server_ports' which contains a
- space separated list of ports to listen on for incoming connections
-
- * server_connect.c, serverlib.c:
- need to check for null return from next_arg() in kill_server() to prevent
- segfault
-
- * add_file.c:
- check for valid (>0) file size when adding files
-
- * public.c:
- privileged users should see who send publics and emotes even when other
- users are cloaked.
-
- 2000-05-21 drscholl <drscholl@users.sourceforge.net>
-
- * public.c:
- fixed problem with emote() not working over server links
-
- * init.c, main.c:
- fixes to compile under os/2
-
- * README, README.UNIX, README.WIN32:
- split Win32 and Unix installation notes into separate files for clarity
-
- * README, mkpass.c, napster.txt:
- Current_Time needs to be set in mkpass.c prior to calling init_random()
-
- corrected mispelling of 'Foreward' in napster.txt
-
- 2000-05-19 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, util.c:
- print_args() should not print to stderr so that when in background mode it
- will get saved in the log file
-
- * Makefile.in, config.c, configure, configure.in, init.c, main.c, opennap.h, util.c:
- added -b command line option to run opennap in the background.
- $config_dir/log is opened as stdout to catch output from the process.
-
- the pid is now stored in $config_dir/pid when opennap starts up to
- facilitate external scripts to restart it when it dies
-
- configure now checks for mlockall()
-
- 2000-05-18 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, main.c:
- updated TODO file
-
- the global MD5 hash table should not be compiled in when RESUME is
- undefined, and the garbage collection should not be scheduled (was causing a
- crash in the win32 build)
-
- * search.c:
- ignore search matches when both parties are firewalled
-
- 2000-05-15 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, NEWS, README, login.c, opennap.dsp, opennap.h, opennap.opt:
- updated build for Win32 platforms
-
- * Makefile.in, kick.c:
- the reason in clear_channel() is not quoted from the client, so use
- next_arg() instead of split_line() to parse the input
-
- 2000-05-13 drscholl <drscholl@users.sourceforge.net>
-
- * configure.in, init.c, join.c, login.c, main.c, opennap.h, resume.c, sample.conf, Makefile.in, README, add_file.c, config.c, configure:
- added --disable-resume to turn off server support for resume searching
-
- added `lock_memory' configuration variable to prevent the process from being
- swapped
-
- added `registered_only' configuration variable to only allow registered
- users to log in
-
- added `auto_register' configuration variable to automatically register users
- upon login
-
- 2000-05-09 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, config.c, handler.c, opennap.h, privmsg.c, util.c:
- added command 870 for new share file supported in beta6
-
- next_arg() now handles quoted parameters
-
- * server_login.c:
- get_server_pass() should return `server_password' if no local password is
- specified
-
- * ChangeLog:
- updated the ChangeLog file with recent modifications.
-
- failed log message from the previous commit:
-
- modified get_server_pass() to optionally return the local password to use
- (if specified in the config file) to avoid parsing the file twice.
-
- * server_login.c:
- modified get_server_pass() to optionally return the local password to use
- (if specified in the config file) to avoid parsing the file twice.
-
- * Makefile.am, Makefile.in, README, server_login.c, textdb.c, textdb.h:
- rewrote get_server_pass() to use its own simple parsing routine to fetch the
- password instead of using the textdb_*() functions.
-
- added support for using different server passwords with each linked server
- rather than always using the value of `server_password'. if a local
- password is specified in the `servers' it will override the default
- password.
-
- * napster.txt, opennap.h, privmsg.c:
- added missing 325 server response when the user to ignore is already ignored
-
- 2000-05-08 drscholl <drscholl@users.sourceforge.net>
-
- * handler.c, kick.c, napster.txt, network.c, opennap.h, privmsg.c, server_links.c:
- added entries for the server-side ignore list to the handler array.
-
- update napster.txt with the numerics for server-side ignore
-
- kick() should call notify_mods() prior to part_channel() in case the channel
- is destroyed by kicking the last user out (Greg Prosser
- <greg@snickers.org>).
-
- set_limit() should just warn if FD_SETSIZE is smaller than the set hard
- limit for max file descriptors.
-
- 2000-05-03 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, change.c, download.c, hotlist.c, join.c, opennap.h, part.c, part_channel.c, ping.c, privmsg.c, public.c, remove_connection.c, serverlib.c, usermode.c, util.c:
- added server-side ignore/unignore functionality. this is not able to be
- called by the user yet since the numerics are unknown
-
- changed join/part to show the joins/parts to privileged users regardless of
- the cloak status
-
- added CLOAK usermode to en/disable the server notifications
-
- * handler.c, init.c, join.c, login.c, main.c, napster.txt, opennap.h, part.c, public.c, util.c:
- increased hash table size to 521 for users and hotlist for better
- performance with many users
-
- public() and emote() now find the channel by looking through the users
- joined channel list with find_channel() instead of calling hash_lookup()
-
- removed many extraneous log() messages about command parsing errors
-
- switched to using ISUSER(user->con) instead of testing user->local
-
- * hash.c, sample.conf:
- replace hash function with the `ElfHash' used in the ELF loader since it
- produces MANY less collisions
-
- 2000-04-30 drscholl <drscholl@users.sourceforge.net>
-
- * README, handler.c, opennap.h, server_links.c:
- changed numeric for server ping to 750 to match the official servers
-
- * change.c, level.c:
- setlinespeed didn't actually change the user's speed in the USER struct
-
- * login.c: exempt mods+ from server bans
-
- * Makefile.am, Makefile.in, TODO, change.c, handler.c, muzzle.c, napster.txt, opennap.h, unmuzzle.c:
- consolodated the muzzle/unmuzzle code into one function
-
- extended muzzle/unmuzzle to allow change for a registered user that is not
- currently logged in
-
- 2000-04-28 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog:
- updated ChangeLog with recent activity
-
- missing log entries from last commit:
-
- * change.c, join.c, public.c, whois.c:
- publics and emotes should not be cloaked when the channel level is mod+
-
- whois should show Cloaked state for privileged users
-
- whois should hide channel membership for nonprivileged users when they
- perform a whois on a cloaked user
-
- added a period at the end of the notification of cloak status.
-
- * change.c, level.c, login.c, muzzle.c, opennap.h, unmuzzle.c, userdb.c:
- changed muzzle field in USERDB to flags and use the ON_* bitmasks instead
- of individual fields.
-
- cloak state is now saved in the userdb and restored when the user logs back
- in.
-
- * README, handler.c, opennap.h, server_links.c:
- added ping_server() command (10116)
-
- 2000-04-27 drscholl <drscholl@users.sourceforge.net>
-
- * README, privmsg.c:
- added cloak to the list of operserv commands
-
- * Makefile.in, change.c, kick.c, kill_user.c, list_users.c, muzzle.c, opennap.h, serverlib.c, unmuzzle.c:
- kill, muzzle, unmuzzle and kick should not display the issuer's nick if they
- are cloaked
-
- cloak() should call notify_mods()
-
- * README, TODO, browse.c, change.c, channel.c, handler.c, join.c, muzzle.c, napster.txt, opennap.h, part_channel.c, patchnap.c, privmsg.c, public.c, whois.c:
- updated napster.txt with new findings from the linux nap v1.0 beta
-
- changed numeric for the kick command to 829, per nap v1.0 beta
-
- changed numerics for channel ban, unban and list per nap v1.0 beta
-
- renamed chanban, chanunban, chanbanlist operserv commands to cban, cunban
- and cbanlist.
-
- added cbanclear to operserv commands
-
- added the clear channel ban list command (424)
-
- added the cloak user command (625). for cloaked users, parts/joins are not
- sent and public messages show up as being from `Operator' instead of the
- real nick that sent it.
-
- added stub routine for global user list.
-
- updated patchnap.c for linux nap v1.0 beta
-
- * FAQ, README, privmsg.c:
- added chanban and chanunban commands to operserv
-
- added FAQ about max_browse_result/client_queue_length
-
- * Makefile.in, channel.c:
- fixed channel ban notify_mods() messages which were missing channel names
-
- * README, ban.c, channel.c, configure, configure.in, handler.c, join.c, opennap.h, serverlib.c, util.c:
- added first cut at channel bans
-
- 2000-04-26 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, login.c, muzzle.c:
- changed notification messages in login() wrt restoring muzzled state to
- match those in the muzzle() command.
-
- fixed muzzle() to allow for automatic server muzzling by avoiding a call to
- pop_user(), which assumes a real user issued the command
-
- * napster.txt:
- updated protocol spec with additional info from Thomas van der Heijden
- <thom@bart.nl>
-
- * whois.c:
- consolodated the whois response formation instead of separate commands for
- each case. now normal users can see whether another user is muzzled
-
- * login.c, muzzle.c, opennap.h, unmuzzle.c, userdb.c:
- muzzle status is now saved in the user db so that it gets restored when the
- user logs in again
-
- * mkpass.c, opennap.h, usermode.c, util.c, Makefile.in, announce.c, configure, configure.in, handler.c, init.c, main.c:
- added WALLOP user mode to disable wallops
-
- use srand() and rand() to generate random numbers instead of hashing input
- data with md5. the md5 code seems to generate lots of unaligned memory
- accesses on alpha, and it really isnt critical to have cryptographic quality
- random numbers. it should also reduce the cpu usage since it no longer has
- to hash all input.
-
- * join.c:
- added support for automatic creation of rollover channels for predefined
- channels
-
- * login.c:
- check for get_level() == -1 in reginfo()
-
- 2000-04-25 drscholl <drscholl@users.sourceforge.net>
-
- * main.c, opennap.h:
- Num_Gigs should be unsigned int to prevent a negative count when going about
- 2TB library size.
-
- 2000-04-24 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, userdb.c:
- check for valid level when reading the userdb from disk
-
- 2000-04-20 drscholl <drscholl@users.sourceforge.net>
-
- * ban.c, synch.c:
- fixed loading and saving of bans to get the correct ban type
-
- 2000-04-19 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, opennap.dsp, opennap.opt:
- updated win32 projects files for 0.25
-
- 2000-04-18 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, Makefile.am:
- post 0.25 release commit
-
- forgot to add sample.channels to EXTRA_DIST in Makefile.am
-
- * NEWS, README, TODO, configure, sample.conf:
- final changes for 0.25 release
-
- * ChangeLog, channel.c, configure.in, login.c, opennap.h, sample.channels, search.c:
- added "live" to the list of words to ignore in searches
-
- restored full ChangeLog
-
- updated version to 0.25
-
- allow the channels file to contain blank lines
-
- 2000-04-17 drscholl <drscholl@users.sourceforge.net>
-
- * README, ban.c, sample.conf:
- fixed ban() not to check for permission from commands received from other
- servers so that syncing will work properly
-
- removed old entries from sample.conf
-
- * muzzle.c, napster.txt, sample.channels, search.c, server_login.c, unmuzzle.c:
- muzzle() should error if user is already muzzled
-
- unmuzzle() should error if user is not muzzled
-
- updated napster.txt to reflect the new use of 401 (part)
-
- added "f" to the list of words to ignore in searches
-
- avoid infinite loop in mark_links() by checking for a link already marked
- before recursing on it
-
- added sample.channels file
-
- 2000-04-15 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.am, Makefile.in, ban.c, channel.c, config.c, init.c, main.c, motd.c, opennap.h, part_channel.c, sample.conf, server_login.c, userdb.c:
- added `channels' config file to predefine persistent channels
-
- removed user_db_path, server_db_path and motd_path config variables.
-
- added config_dir variable to control where opennap should look for the
- users, servers, motd, bans and channels files
-
- * Makefile.in, login.c:
- fixed bug in bad password error message which caused a crash
-
- 2000-04-14 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.am:
- added usermode.c to compile list
-
- * ChangeLog:
- updated ChangeLog with recent entries
-
- * level.c:
- allow users to demote their user level again
-
- * level.c:
- fixed bug in new level() code where an elite could not set another elite to
- a lower level
-
- * search.c:
- added "downloads" to the list of words to ignore on searches
-
- 2000-04-13 drscholl <drscholl@users.sourceforge.net>
-
- * README, announce.c, ban.c, handler.c, login.c, opennap.h, util.c:
- added remote_notify_mods() command to allow a server to broadcast a message
- to remote mods
-
- server will no longer delink when a bad command is received.
-
- user and host ban messages are now sent to all mods on all servers
-
- all mods+ are notified when a user fails to log in as a privileged user
-
- * join.c, level.c, login.c:
- don't allow % in either nicknames or channel names for safety
-
- fixed bug in format for log() message in channel_level() when a user tries
- to set a channel to a level above their own
-
- fixed bug in level() where the notification about the level change was sent
- to the user who issued the change instead of the target user
-
- * config.c, login.c, main.c, opennap.h, userdb.c:
- removed Check_Expire global variable
-
- added nick expiration to dump_userdb()
-
- * ban.c, level.c, main.c, search.c:
- allow the setuserlevel command to work when the user is registered but not
- logged in
-
- set SO_REUSEADDR on the stats port
-
- 2000-04-12 drscholl <drscholl@users.sourceforge.net>
-
- * search.c: added additional debugging checks
-
- * remove_connection.c, whois.c:
- hash_free() was not called to free a local user's list of files
-
- * kick.c, napster.txt:
- clear_channel() needs to be careful about walking the list of users in a
- channel since the call to part_channel() could free the current list pointer
-
- * config.c, handler.c, main.c, opennap.h, sample.conf, util.c:
- added max_command_length config var to control the max allowed length of a
- client command
-
- * ban.c, login.c, muzzle.c, unmuzzle.c, whois.c:
- unban had a bug where it would tell you the ban was not found even if it
- was.
-
- muzzle and unmuzzle should optionally take a reason argument.
-
- whois should display Muzzled instead of Active for muzzled users
-
- * config.c, remove_connection.c, sample.conf:
- no need to null out the uopt->files member in remove_connection()
-
- changed default value of collect_interval to 300
-
- added max_browse_result to sample.conf
-
- 2000-04-11 drscholl <drscholl@users.sourceforge.net>
-
- * change.c, login.c, search.c:
- the reason for a nuke is not required
-
- added 'home' to the list of words to ignore in searches
-
- * opennap.h, remove_file.c, serverlib.c, topic.c, upload_complete.c, userdb.c, usermode.c, whois.c, add_file.c, browse.c, change.c, download.c, free_user.c, level.c, login.c:
- moved the list of shared files into the USEROPT struct since it only needs
- to be present for locally connected users
-
- change_pass(), alter_pass() and nuke() should releay the command to other
- servers before checking if the account is locally registered, since the
- userdb may not be entirely replicated
-
- userdb_dump() sould unlink() User_Db_Path before calling rename() since it
- causes an error under win32
-
- notify_mods() is called with new usermode TOPIC when a topic of a channel
- has been changed
-
- compacted whois() to use the same snprintf() call for level>=moderator
-
- * change.c, level.c, login.c, serverlib.c, usermode.c:
- change_pass() and change_email() need to check for bad user input
-
- added include files to prevent compiler warnings
-
- * login.c:
- register_user() did not call generate_pass() to generate the md5 password
-
- * change.c:
- alter password command was sending the md5-hashed password instead of the
- raw password
-
- * usermode.c:
- usermode.c needs stdio.h for snprintf()
-
- * handler.c, resume.c, search.c:
- removed extraneous log messages
-
- ignore the word "download" in searches
-
- 2000-04-10 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- added "download" to the list of words to ignore when searching
-
- * search.c:
- added new words to ignore in the search table: scour, media, agent, on,
- stuff
-
- * usermode.c:
- adding missing PORT string in User_Modes
-
- initial mode should be set from current user mode in user_mode()
-
- * kick.c, usermode.c:
- fixed compilation warnings for usermode code
-
- * usermode.c:
- added new function handler user_mode()
-
- * Makefile.in, ban.c, change.c, download.c, handler.c, hotlist.c, join.c, kick.c, kill_user.c, level.c, login.c, muzzle.c, opennap.h, privmsg.c, remove_connection.c, server_connect.c, server_login.c, serverlib.c, unmuzzle.c:
- patch from colten edwards to allow ircd-like user levels to enable or
- disable many server messages to privileged users
-
- * ChangeLog, NEWS, sample.conf, sample.users:
- final updates for 0.24 release
-
- * README, add_file.c, search.c:
- ignore "2" in filenames since it is a frequent occurance
-
- * free_user.c:
- update the last seen time for registered nicks when a user logs off
-
- * login.c:
- server should send a KILL when it detects a remote user with an invalid
- nick
-
- * change.c, serverlib.c:
- change_email() did not prefix the server->server messgae with the nick of
- the user who issued the command
-
- nosuchchannel() and unparsable() now check for ISUSER() to avoid the need to
- check every time those functions need to be called
-
- * change.c:
- the server-server message for change_pass() did not contain the user who
- changed the password
-
- 2000-04-09 drscholl <drscholl@users.sourceforge.net>
-
- * handler.c, join.c, kick.c, opennap.h:
- added the clear channel (820) command
-
- 2000-04-08 drscholl <drscholl@users.sourceforge.net>
-
- * handler.c:
- handle_connection() should send the USER_SHARING message prior to execution
- of the callback so that the proper information is sent to users when the
- user joins a channel for the first time.
-
- * free_user.c, handler.c, init.c:
- Local_Files was not decremented in free_user()
-
- added sig handler to call md_cleanup() on SIGUSR1
-
- * main.c, server_connect.c:
- fixed core in update_stats() on new log message for number of local files
-
- login timer was not set on server connections
-
- * README, handler.c, privmsg.c:
- added the config and reconfig commands to OperServ
-
- updated comment above the share/unshare termination detection to indicate
- that if a user does not issue any more commands after sharing/unsharing,
- the information will not get passed to the peer servers
-
- * add_file.c, handler.c, opennap.h, remove_file.c:
- add_file()/remove_file() now set a flag in the USER struct.
- handle_connection() then checks for the end of the share/unshare messags
- from the client by checking for a command other than share/unshare and
- passes the final results to the peer servers
-
- 2000-04-07 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, main.c, opennap.h, remove_file.c, resume.c:
- server now keeps track of how many files are available from local users
- and displays this info in update_stats()
-
- removed prototypes for outdated functions from opennap.h
-
- * add_file.c, join.c, kick.c, login.c, main.c, muzzle.c, napster.txt, opennap.h, remove_file.c, serverlib.c, synch.c:
- created new util functions nosuchchannel() and unparsable()
-
- the optional reason in the muzzle command should be quoted if present
-
- the optional reason in the kick command should be quoted if present
-
- channel_limit() now only checks for privilege for local users so that the
- limits can be synced by servers when linking
-
- * README, userdb.c, util.c:
- updated installation instructions
-
- userdb_init() should only rewind() if the first line doesn't contain the
- version information
-
- log() no longer prefixes messages with `opennap: '
-
- * Makefile.am, Makefile.in, buffer.c, handler.c, main.c, mkpass.c, mkpass.dsp, network.c, opennap.dsp, opennap.dsw, opennap.h, opennap.opt, opennap.plg, serverlib.c, snprintf.c, util.c:
- added mkpass project to win32 workspace
-
- created new macro N_ERRNO to be used in place of error when checking error
- conditions from socket related function calls. win32 uses h_errno so this
- should be used as a wrapper to make the code cleaner
-
- added new macro nlogerr() which is like logerr() but should be used when
- priting errors from socket related functions
-
- * TODO, login.c:
- major cleanup of login(). password should not be checked until after the
- check for a user already logged in to prevent password guessing
-
- * Makefile.in, kick.c, main.c, search.c:
- missing channel name in the notify_mods() call in kick()
-
- ignore "rock" and "new" in search strings
-
- * NEWS, README, config.c, configure, configure.in, main.c, opennap.h, sample.conf, search.c:
- updated version number to 0.24
-
- added login timeout detection. default is to close client connections if
- they have no logged in within 60 seconds
-
- added "me", "to" and "rock" to the list of words to ignore in the search
- table since over 5000 entries were detected
-
- 2000-04-06 drscholl <drscholl@users.sourceforge.net>
-
- * change.c, opennap.h:
- allow nuke_user() to take an optional reason for the revocation
-
- * login.c:
- delay setting the user's level from the db until after the notify_mods()
- call so that the user is not notified twice of their change in status.
-
- * Makefile.am, Makefile.in, config.c, handler.c, join.c, kick.c, list_channels.c, login.c, main.c, napster.txt, opennap.h, part.c, privmsg.c, sample.conf, server_usage.c:
- added kick.c for the kick() function
-
- added channel limit (826) command to specify the max users allowed in a
- channel.
-
- added full channnel list (827) command to show all channels with min level
- and user limit
-
- made the stats command accessable to normal users
-
- fixed find_handler() search that could end up in an infinite loop in certain
- cases.
-
- * TODO, login.c, napster.txt:
- updated TODO file
-
- fix for coredump when a nonregistered user attempts to log in
-
- updated napster.txt with new protocol findings
-
- 2000-04-05 drscholl <drscholl@users.sourceforge.net>
-
- * browse.c, main.c:
- data.max was not initialized to 0 in browse() causing a problem with
- browsing users on the same server
-
- * login.c, main.c:
- reorganized the login() routine to allows privileged users to bypass the
- max_connections restriction
-
- should check for -1 instead of EOF in getopt() test
-
- * add_file.c, search.c:
- modification to use the soundex hash as the key for the File_Table. This
- should decrase the amount of memory required for searching at the expense of
- a little cpu, but should not affect the search results since it still uses
- the same token based scheme once the smallest bin has been found.
-
- 2000-04-04 drscholl <drscholl@users.sourceforge.net>
-
- * main.c:
- update_stats() now prints out the number of entries in the File_Table hash
- table to get an idea of its size
-
- * mkpass.c, search.c, serverlib.c:
- added copyright notice to mkpass.c and serverlib.c
-
- tokenize() should ignore the words "of", "you" and "mp3's" because of the
- high use of these words (>10,000 hits).
-
- 2000-04-03 drscholl <drscholl@users.sourceforge.net>
-
- * mkpass.c, serverlib.c:
- added new file mkpass.c to generate a md5 password
-
- added new file serverlib.c for functions that reference opennap globals
-
- * Makefile.am, Makefile.in, change.c, level.c, login.c, main.c, opennap.h, userdb.c, util.c:
- added support for md5 passwords for user db
-
- 2000-03-31 drscholl <drscholl@users.sourceforge.net>
-
- * ban.c:
- issue a kill if we receive a login command from a remote server for a
- locally banned user
-
- * ban.c:
- check_ban() should only set con->destroy for CLASS_UNKNOWN connections
-
- * server_connect.c:
- server_login() passsed the wrong field to the is_linked() function
-
- * README:
- updated README to discuss the new OperServ feature
-
- * login.c, privmsg.c:
- added pseudo user OperServ to allow privilegded users without builtin client
- support for the opennap specific commands to be able execute them by using
- /msg opserver ...
-
- * userdb.c:
- removed check for .nuked in dump_userdb()
-
- * change.c, handler.c, login.c:
- removed unnuke() command. nuking the account removes it permanently.
-
- fixed encapsulated() to handle bad input data
-
- * change.c, handler.c, opennap.h, userdb.c:
- added support for nuking and restoring accounts
-
- * ban.c, init.c, main.c, opennap.h:
- added load/save bans feature from colten edwards.
-
- * opennap.h, server_connect.c, server_login.c:
- added is_linked() function to check to see if a server is already linked in
- order to avoid server loops
-
- * Makefile.in, ban.c, handler.c, login.c, main.c, opennap.h:
- removed check_accept() function. the maximum connections is now enforced by
- login() to avoid the situation where servers can't link because the number
- of client connections has exceeded the maximum
-
- accept_connection() now calls check_ban() directly
-
- 2000-03-30 drscholl <drscholl@users.sourceforge.net>
-
- * handler.c, muzzle.c, network.c, privmsg.c, public.c, search.c, server_login.c, synch.c:
- the long line truncation in public/emote needs to calculate the length based
- upon the start of the data actually sent to the client. server->server
- messages were being truncated in the _next_ packet.
-
- 2000-03-28 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, NEWS, README, opennap.h:
- win32 needs _POSIX_PATH_MAX defined to compile
-
- update ChangeLog, NEWS and README for 0.23 release
-
- * public.c:
- crop publics and emotes that are longer than 128 chars rather than rejecting
- them
-
- * public.c, spyserv.c:
- don't allow public or emote commands longer than 128 chars to prevent the
- DOS attack against the windows napster client.
-
- * main.c:
- listen fd needs to be set to nonblocking so the loop over accept() doesn't
- block the server.
-
- * ban.c, login.c, main.c:
- modified accept_connection() to loop until accept() returns an error
-
- cli->destroy should be set in check_accept when max connections has been
- reached.
-
- 2000-03-27 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, change.c, join.c, util.c:
- only call notify_mods() if a users data port is set to a different value
- than what is currently set to
-
- join should send a 408 back to the user than joined, and not a 406.
-
- split_line() now breaks on space, tab, cr or lf to separate words
-
- * ban.c, change.c, config.c, init.c, level.c, login.c, main.c, opennap.h, userdb.c, whois.c:
- changed user db into an memory-based hash table to improve performance.
- the user db is dumped to disk every `user_db_interval' seconds (default:
- 1800)
-
- * configure, configure.in, main.c, remove_connection.c:
- remove support for poll() since it doesnt work well
-
- 2000-03-26 drscholl <drscholl@users.sourceforge.net>
-
- * ban.c, main.c:
- fixed but in main loop with select()ing fds
-
- * util.c: more fixes
-
- * main.c, util.c:
- modified add_client() to find the first empty slot in the Clients[] array
-
- * main.c:
- should 0 out the old pointer when shifting down entries to fill holes
-
- * main.c, util.c:
- moved complete_connect() call to final loop to avoid altering Num_Clients in
- the read loop
-
- * main.c, util.c:
- poll() still returns EINVAL under linux so the main loop now always shifts
- down the CONNECTION pointeres to fill all holes.
-
- 2000-03-25 drscholl <drscholl@users.sourceforge.net>
-
- * ban.c, login.c, main.c, opennap.h:
- changed ban handling to use a LIST instead of an array
-
- * buffer.c, debug.h, join.c, util.c:
- added VALID_STR() debug macro for testing memory allocated by STRDUP()
-
- validate_user() and validate_channel() should call list_validate() instead
- of just checking the first entry in the list
-
- * opennap.dsp:
- committed .dsp file for win32 build
-
- * join.c:
- fixed error message for channel_level() to be more verbose to the client
-
- * level.c, login.c:
- fixed messages about changing a user's level to be consistent
-
- * kill_user.c, server_login.c:
- corrected log messages
-
- * login.c:
- reasons for a kill should be quoted in login()
-
- * handler.c, level.c, login.c, search.c, server_login.c, synch.c, topic.c:
- fixed sync_server() to send the locally connected server list first
-
- fixed topic() to return the current topic if none is specified
-
- fixed login() to notify_mods() when setting a user's level
-
- 2000-03-24 drscholl <drscholl@users.sourceforge.net>
-
- * opennap.h, remove_connection.c, server_login.c:
- need to recursively remove server link info behind servers that split
-
- * server_login.c, synch.c:
- fixed broken sync message for server links
-
- * kill_user.c, level.c:
- fixed bug in kill_user() where the size of the av[] was not correct in the
- call to split_line()
-
- * Makefile.am, Makefile.in, README, configure, configure.in, handler.c, network.c, opennap.h, opennap.opt, opennap.plg, server_links.c, server_login.c:
- fixed to compile under Windows NT 4.0
-
- * remove_connection.c, server_links.c, server_login.c, synch.c, README, handler.c, main.c, napster.txt, opennap.h:
- added support for passing of server link info so that all servers know about
- each other
-
- * TODO, kill_user.c:
- the reason for a kill should be quoted if it exists
-
- * handler.c, level.c, main.c:
- bail out without doing anything if the user level is set to the level that
- was requested
-
- * main.c:
- need to reset the CLient id when shifting down the entries to fill gaps
-
- * main.c:
- modified main() loop to reduce the size of the Clients array if there are
- more than 10 holes in it. this is to try and prevent EINVAL under linux,
- which does a sanity check to make sure the nfds arg is smaller than the
- current number of open fds
-
- * main.c:
- added debugging to find error with poll() call
-
- 2000-03-23 drscholl <drscholl@users.sourceforge.net>
-
- * change.c, login.c, search.c:
- fixed bad log message in login() with missing arg for %s
-
- %s should be %d in log message in alter_port()
-
- 2000-03-22 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- removed log message from cancel_search()
-
- * main.c:
- added extensive debugging checking if poll() fails with EINVAL
-
- * level.c, main.c, whois.c:
- allow normal user's to change their own level to leech
-
- don't call FD_ISSET on a fd with value -1
-
- the windows client can't part "" in the whois response, so ensure it always
- contains at least one space
-
- * handler.c, login.c, part.c, remove_connection.c, search.c:
- fixed memory leak in user_ip() which occurred when nick collisions happen
-
- removed debug log message from handle_connection() when unprocessed bytes
- remain
-
- rewrote cancel_search() to send final ACKs when a server quits before
- sending all acks
-
- * join.c:
- fixed botched send_cmd() in channel_level()
-
- * join.c, login.c, main.c, search.c:
- added more checks for out of memory conditions
-
- * join.c:
- allow channel_level() to be called with only the channel name to report the
- current level
-
- * login.c:
- display the ip address when a banned user attempts to log in
-
- * handler.c:
- use a binary search to look up the handler for each received message
-
- 2000-03-21 drscholl <drscholl@users.sourceforge.net>
-
- * napster.txt: updated protocol information
-
- * login.c, main.c:
- fixed memory leak in login() when the login fails
-
- exit main loop on poll() error
-
- * change.c, handler.c, join.c, napster.txt, opennap.h, part.c:
- added 'set user password' (753) admin command
-
- added 'set user speed' (625) admin command
-
- * main.c:
- fixed accept_connection() to check for out of memory errors
-
- * upload_complete.c:
- upload_ok() should call print_args() when it detects a malformed message
-
- * search.c:
- added checking for out of memory errors in search_internal()
-
- 2000-03-20 drscholl <drscholl@users.sourceforge.net>
-
- * main.c:
- bandwidth stats need to be printed with %f not %d
-
- * main.c:
- bandwidth usage stats were not in kbytes/sec.
-
- Last_Click was not updated.
-
- * join.c:
- invalid_channel returned 1 for count>0
-
- * buffer.c, handler.c, main.c, opennap.h:
- added total input/output bandwidth usage statistics.
-
- * join.c, login.c:
- added a check for valid channel name
-
- 2000-03-19 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, join.c:
- check for missing channel name in join()
-
- 2000-03-18 drscholl <drscholl@users.sourceforge.net>
-
- * join.c, synch.c:
- synch_server() should send the channel level it is other than LEVEL_USER.
-
- * README, handler.c, join.c, opennap.h:
- added new command 10201 to set the minimum user level required to enter a
- channel.
-
- * ChangeLog, NEWS, configure:
- post release commit for 0.22
-
- 2000-03-17 drscholl <drscholl@users.sourceforge.net>
-
- * kill_user.c, unmuzzle.c:
- allow any user to kill/unmuzzle a user that is below their level
-
- * napster.txt, server_links.c:
- server_links() should allow the command to be issued by a remote user.
-
- updated the text for message 300 in napster.txt
-
- * download.c, login.c, opennap.h, opennap.spec, util.c:
- added print_args() utility function for use in dumping the input command for
- error messages
-
- * README, announce.c, configure.in, opennap.h:
- wallop() was using the wrong tag for the response to the client
-
- * handler.c:
- fixed error in encapsulated() where it was using con->sendbuf instead of
- con->recvbuf to get the packet to relay
-
- * README, free_user.c, login.c, opennap.h:
- removed log message from free_user()
-
- * NEWS, README, ban.c, init.c, login.c, napster.txt, network.c, part.c, search.c, textdb.c, AUTHORS:
- incorporated OS/2 port from Brian Smit <dbsoft@technologist.com>.
-
- fixes to compile cleanly under Solaris 2.7 with egcs 1.1.2
-
- updated REAMDE with list of supported operating systems.
-
- * handler.c, search.c:
- fixed memory leak in remote search functions if the server that we received
- the search request from splits before we send the ack for the search
-
- * README, announce.c, handler.c, opennap.h, part_channel.c, public.c, util.c:
- fixed bug in encapsulated() where the complete packet was not correctly
- relayed when the recipient of the message is not local.
-
- added format_message() utility function
-
- * buffer.c:
- minor modifications to buffer_decompress() to avoid unecessary operations
-
- * browse.c, buffer.c, client_quit.c, handler.c, upload_complete.c:
- removed additional extraneous logging messages
-
- rewrote the buffer_compress() routine in hopes of solving the server link
- problem.
-
- * download.c, handler.c, main.c, search.c:
- removed many log messages that are no longer really necessary.
-
- dispatch_command() will now dump the contents of the input buffer when it
- detects a command that is unknown, and will automatically close the
- connection to another server upon this error
-
- 2000-03-16 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, announce.c, ban.c, buffer.c, change.c, download.c, free_user.c, handler.c, join.c, kill_user.c, level.c, login.c, main.c, muzzle.c, opennap.h, part.c, public.c, remove_connection.c, remove_file.c, search.c, server_connect.c, server_links.c, server_login.c, server_usage.c, topic.c, unmuzzle.c, util.c:
- made the server list a real LIST instead of an array. removed global
- Num_Servers. pass_message_args() will now return without doing anything if
- there are no connected servers so that each handler routine doesn't have to
- check for Servers!=0.
-
- 2000-03-15 drscholl <drscholl@users.sourceforge.net>
-
- * level.c:
- fixed broken log message causing a segfault
-
- * buffer.c, level.c:
- level() should register the nick if not present in the local db and the user
- level is moderator or higher.
-
- * join.c:
- the 406 join message should only be sent to local users
-
- * join.c, privmsg.c:
- fixed sequence of commands generated by the join commmand.
-
- removed commented out code from privmsg.c
-
- * join.c:
- fixed coredump on log message when a user has reached max channel membership
-
- 2000-03-14 drscholl <drscholl@users.sourceforge.net>
-
- * public.c:
- fixed bug with relaying the emote command to remote servers
-
- * handler.c, login.c, opennap.h:
- added register_user() command (10200) to allow admins to force registration
- of user accounts
-
- * login.c:
- user_ip() should use strtoul() to convert the string ip into an integer.
-
- * join.c, login.c, server_connect.c, server_login.c:
- modified join() to alloc the memory required before sending any messages to
- clients so that if memory runs out we can recover the state.
-
- server_connect() should allow duplicate connects to the same host on
- different ports.
-
- user_ip() should case the result of strtol() to unsigned int.
-
- server_login() should notify local admins when another server attempts to
- join
-
- 2000-03-12 drscholl <drscholl@users.sourceforge.net>
-
- * login.c:
- register_nick() should only fail if the user is already logged in.
-
- 2000-03-11 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- need to keep a local flag in the DSEARCH struct for use with checking where
- to send the final ACK in remote_search_end. if the local user logs off then
- search->con will be invalid so we can't use ISUSER(search->con) to decide.
-
- 2000-03-10 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.am, Makefile.in, configure, handler.c, opennap.spec, sample.servers, sample.users, textdb.c:
- handle_connection() should loop around read() when getting a packet header
- since some clients send it in two pieces
-
- added sample users and servers files, and a rpm spec file for building a
- binary package for Red Hat users.
-
- * handler.c:
- fixed partial packet header reading again.
-
- * handler.c:
- fix to read the packet header in multiple pieces
-
- * handler.c:
- check to see if 4 bytes of the header have been read after the initial
- read
-
- * handler.c:
- write a nul (\0) char at the end of the data in handle_connection() when
- an error is detected so that the log message is readable
-
- * handler.c:
- tag and len should be unsigned short integers
-
- * add_file.c:
- fix to abort nicely if the user hash table can't be allocated
-
- * buffer.c, handler.c, main.c, opennap.h, remove_connection.c:
- rewrote input handler to avoid allocating a new buffer every time data is
- read. instead, a single buffer is reused and extended if required. all
- input is processed as it is read now instead of breaking the reading and
- processing into two steps.
-
- * list.c, list.h:
- added macro LIST_NEW() as a wrapper around list_new() so that it gets
- inlined when DEBUG is turned on.
-
- 2000-03-09 drscholl <drscholl@users.sourceforge.net>
-
- * hotlist.c:
- fixed hotlist bug. the hotlist entry was not being removed from the user's
- personal list in the CONNECTION struct
-
- * hotlist.c, opennap.h:
- more debugging to find the hotlist problem.
-
- * README, hotlist.c, list.c, list.h, sample.conf, util.c:
- added list_validate() function to be used in tracking down the hotlist bug
-
- * hotlist.c, opennap.h, remove_connection.c, util.c:
- simplified hotlist removal code by calling list_delete() instead of
- iterating through the list.
-
- need to set con->uopt.hotlist to 0 after call list_free() to avoid ASSERTing
- in cancel_search()
-
- * list.c:
- called FREE on the wrong pointer in list_delete()
-
- * util.c:
- seed the random number context with as many bytes as are read, even if less
- than requested.
-
- * add_file.c, hotlist.c:
- forgot to set hotlist->magic when creating a new entry
-
- forgot to set list->data when adding a file to the db
-
- * add_file.c, hotlist.c, join.c, list.c, list.h, remove_connection.c, search.c, textdb.c, userdb.c:
- removed all use of list_new() and list_append() to track down the memory
- leak. the debug info should now show where the leaked memory is being
- allocated.
-
- * napster.txt, opennap.h, remove_connection.c, search.c, util.c:
- [napster.txt] changed text for 404 message to describe it as a generic error message
-
- [util.c] split_line should eat extra whitespace between fields
-
- when a local user quits, any pending searches should be marked as invalid so
- that when the results come back the ->con pointer in the DSEARCH structure
- is not used.
- rather than for a specific value.
-
- * search.c:
- should have compiled before committing the last fix.
-
- * search.c:
- duplicate tokens should not be added to the list in tokenize(). this makes
- the search function return the same file multiple times.
-
- * change.c, debug.c, join.c, list.c, login.c, main.c, part.c:
- reformatted some code with indent
-
- fixed memory leak in reginfo() where userdb_free() was not called.
-
- * add_file.c, debug.c:
- commented out memory dump from debug_cleanup()
-
- reformatted the code in add_file.c
-
- 2000-03-08 drscholl <drscholl@users.sourceforge.net>
-
- * login.c:
- db->lastSeen was set from get_level() when it should be atol()
-
- * login.c:
- db->nick was not set when creating a new db entry in reginfo()
-
- * download.c, login.c, resume.c, search.c, synch.c, upload_complete.c:
- changed most instances of %lu to %u since we only use 32-bit integers.
-
- * opennap.h, search.c, util.c, handler.c, main.c:
- only use /dev/random to seed the random context. on servers the system
- random pool gets eaten up too fast.
-
- * debug.c, search.c, server_login.c, userdb.c:
- fixed to handle generate_search_id() returning NULL.
-
- 2000-03-07 drscholl <drscholl@users.sourceforge.net>
-
- * util.c:
- add_client did not set the .id member when growing the array.
-
- * login.c:
- user->pass was not free'd if there was an error during login
-
- * debug.c, join.c:
- no need to test for block->file being NULL when we are only referencing
- a static memory block.
-
- muzzled users should not be allowed to join chat channels
-
- * debug.c:
- debug code doesn't need to strdup() the file passed in, it can simply
- reference it since it is static memory.
-
- got rid of the .prev pointer in the BLOCK struct. we can walk the list of
- block with a BLOCK** pointer instead.
-
- * TODO, download.c, upload_complete.c:
- fixed upload_ok() to use send_user() instead of send_cmd() since the
- downloader could be on a remote server.
-
- removed PostgreSQL from the TODO list since we no longer use a SQL db.
-
- * announce.c, kill_user.c, main.c, opennap.h, remove_connection.c, search.c, server_links.c, upload_complete.c, util.c:
- Modified the main loop to stop shifiting down the CONNECTION array to fill
- the holes. add_client() will insert new connections into the holes, or
- grow the array if its all full. Added new global Max_Clients which should
- be used in any contruct that needs to loop over all local connections,
- avoiding the entries that are set to NULL (holes).
-
- * buffer.c, main.c:
- use a new local variable numClients for the loop test constructs since
- Num_Clients gets changed by the accept_connection(). this may be the cause
- of all those immediate disconnects.
-
- * search.c:
- use a faster algorithm for walking the list when deleting invalid entries
- from the files list
-
- * search.c:
- tokenize() should ignore common words because they are not useful in
- searching
-
- fdb_collect_garbage() will now print messages about bins with more than
- 10,000 entries so that they can be considered for addition to the ignore
- list
-
- * AUTHORS, configure.in, init.c, main.c, network.c, opennap.h, timer.c:
- solaris port (jones@users.sourceforge.net)
-
- * add_file.c, browse.c, client_quit.c, download.c, handler.c, opennap.h, remove_file.c, server_login.c, synch.c, upload_complete.c, util.c, whois.c:
- added the ability to download files and browse users on other servers
-
- server stats for users/files/size is again global for all linked servers
-
- 2000-03-06 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, announce.c, ban.c, browse.c, change.c, client_quit.c, download.c, handler.c, hash.c, join.c, kill_user.c, level.c, login.c, main.c, muzzle.c, opennap.h, part.c, ping.c, privmsg.c, public.c, remove_connection.c, remove_file.c, search.c, server_connect.c, server_links.c, server_login.c, server_usage.c, synch.c, topic.c, unmuzzle.c, upload_complete.c, userdb.c, util.c, whois.c:
- server message are no longer automatically forwarded by handle_connection().
- each handler is now responsible for forwarding the message if necessary.
-
- implemented the ability to search on remote servers so that the entire file
- database isn't replicated on every server.
-
- several of the server query functions now take an optional server argument
- to get the status of a remote server rather than the one the client is
- connected to.
-
- * sample.conf, config.c, init.c, main.c, network.c, opennap.h:
- added max_data_size and max_rss_size configuration variables to adjust
- sytem limits on memory usage per process
-
- * change.c, server_connect.c:
- fixes to compile cleanly with debugging turned off
-
- * opennap.h, textdb.c, util.c:
- added `#define USE_CRLF 1' for use on win32 to write \r\n at the end of each
- line in the database
-
- modified next_arg() to use space, \r, \n and \t as word separators, and to
- set the argument to 0 when hitting the \0 in the source string to avoid
- returning an extra empty string
-
- * Makefile.in, add_file.c, ban.c, buffer.c, configure, configure.in, hotlist.c, login.c, main.c, opennap.h, public.c, server_connect.c, server_login.c, synch.c, textdb.c, timer.c, userdb.c, util.c:
- created logerr() macro as a wrapper for libc errors
-
- used OUTOFMEMORY() macro when memory errors occur
-
- don't use next_arg() in public() because it will strip leading space from
- the user's message
-
- 2000-03-04 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.am, README, config.c, configure.in, main.c, opennap.h, sample.conf, textdb.c, textdb.h, userdb.c:
- removed all variables pertaining to mysql
-
- updated the installation instructions to reference the new flat text file
- user and server databases
-
- * Makefile.am, Makefile.in, change.c, compress.c, config.c, configure, configure.in, create_db.sql, db.c, init.c, level.c, login.c, main.c, opennap.h, sample.conf, server_connect.c, server_login.c, textdb.c, textdb.h, userdb.c, whois.c:
- removed all references to MySQL from the code base.
-
- added flat file text database for use with user and server lists.
-
- 2000-03-03 drscholl <drscholl@users.sourceforge.net>
-
- * search.c:
- reenable code to reject search matches for a user's own files
-
- search term for equality is "EQUAL TO", not "EQUALS" according to the
- protocol specification.
-
- added error reporting to the client if the comparison operation in a search
- string is unknown.
-
- * getopt.c, main.c:
- added copyright notice to getopt.c
-
- fixed broken usage() output
-
- * ChangeLog, Makefile.in, NEWS, README:
- ChangeLog is now generated by rcs2log.
-
- Moved contents of the NEWS file into README. NEWS is for user visible
- changes in accordance with the GNU standards.
-
- * Makefile.am, opennap.dsp, opennap.opt, opennap.plg:
- integrated updated visual c++ files
-
- * init.c, main.c, network.c, opennap.h, getopt.c:
- fixes to compile under win2k (Damian Hodgkiss)
-
- * napster.txt, whois.c:
- fixed bug in whois response. the total downloads comes before total uploads
- in the mod+ version
-
- added additional documentation on the 613 and 626 commands.
-
- 2000-03-02 drscholl <drscholl@users.sourceforge.net>
-
- * join.c, timer.c:
- needed to include stdlib.h to compile cleanly without debugging on
-
- * ChangeLog, add_file.c, config.c, login.c, main.c, opennap.h, remove_connection.c, search.c:
- removed old code and and -DLESSMEMORY flag since that is now the default
-
- modified core search function to using str*() functions instead of calling
- tokenize() on the filename
-
- fixed bug in login() where the number of fields in the client login (6)
- was not checked, which lead to a coredump if the last field was not present.
-
- * hash.c, hash.h, list.c, opennap.h:
- catch out of memory error conditions in list and hash functions
-
- * hotlist.c, list.c:
- reconciled differences in hotlist code
-
- * NEWS, hotlist.c, remove_connection.c:
- fixed memory leak in remove_connection() where it did not free empty hotlist
- entries
-
- * login.c: dont allow nul usernames
-
- * main.c, napster.txt, public.c:
- fixed emote command to check for required quotes around the text portion
- of the message.
-
- 2000-03-01 drscholl <drscholl@users.sourceforge.net>
-
- * getopt.c:
- added getopt() replacement for Win32 which doesn't have this function
-
- * join.c, list_channels.c, list_users.c, part.c, part_channel.c, public.c, synch.c, topic.c, util.c:
- fixed compilation errors with new list code
-
- * Makefile.am, Makefile.in, add_file.c, buffer.c, change.c, client_quit.c, download.c, free_user.c, handler.c, hotlist.c, join.c, kill_user.c, level.c, list.c, list.h, login.c, main.c, muzzle.c, opennap.h, part_channel.c, ping.c, privmsg.c, public.c, remove_connection.c, search.c, server_connect.c, server_links.c, server_login.c, server_usage.c, topic.c, unmuzzle.c, upload_complete.c, util.c, whois.c:
- added new files list.c and list.h to contain the generic list routines.
-
- switch to using LIST instead of arrays for many things which don't need to
- be directly indexed.
-
- optimized USER and CONNECTION structs to require as little memory as
- possible.
-
- * main.c, opennap.h:
- optimized fields in the DATUM struct to be as small as possible
-
- * TODO, add_file.c, hotlist.c, opennap.h, search.c:
- added -DLESSMEMORY to force the server to regenerate the token list when
- comparing rather than storing it in the database
-
- * main.c, timer.c:
- changed next_timer() to return the time offset in seconds of when the next
- timer is scheduled
-
- * network.c:
- need to include sys/time.h before sys/resouce.h on bsdi
-
- * main.c, opennap.h, timer.c:
- added next_timer() function to give the time at which the next pending event
- is scheduled. the main even loop in the server should never block for
- longer than when a pending even is scheduled
-
- * ChangeLog, Makefile.am, Makefile.in, ban.c, init.c, join.c, main.c, opennap.h, timer.c:
- added timer functions for scheduling periodic events (colten edwards)
-
- added global variable Current_Time which is set once per iteration of the
- main loop. functions which need the current time should use this variable
- rather than calling time()
-
- * buffer.c, hotlist.c:
- removed error message that were too verbose from send_queued_data() and
- add_hotlist()
-
- * init.c:
- handle SIGPIPE to avoid terminating the process when writing to a connection
- that got shut down
-
- * add_file.c, search.c:
- added additional debugging output to the add_file() and associated
- routines
-
- * main.c:
- moved the check for connections to the stats port to before the new
- connections port since the latter modifies Num_Clients and it was throwing
- of the check for connections to the stats port
-
- * handler.c, init.c:
- fixes to compile cleanly with debugging turned off
-
- * browse.c, search.c:
- allow max_browse_result to be 0 to indicate unlimited
-
- added additional debugging to free_flist()
-
- 2000-02-29 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, handler.c, init.c, main.c, opennap.h, Makefile.am:
- main.c was getting too big. broke out initialization code into init.c and
- connection handling code into handler.c
-
- * ChangeLog, main.c, network.c:
- added support for the opennap server to listen on port 8889 to report stats
- about the server to interested parties
-
- * NEWS, add_file.c, ban.c, configure, configure.in, kill_user.c, opennap.h, privmsg.c, public.c, topic.c, util.c:
- added various checks for memory exhaustion to recover "gracefully"
-
- * ChangeLog, FAQ, network.c, search.c, util.c:
- check for out of memory errors in tokenize()
-
- 2000-02-28 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, ban.c, config.c, configure, configure.in, main.c, network.c, opennap.h, sample.conf:
- allow max_shared to be 0 to allow unlimited sharing
-
- added new config vars 'uid' and 'gid' to specify the uid/gid to switch to
- if running as root (uid 0)
-
- added new config var 'connection_hard_limit' to specify the maxium number
- of file descriptors the process can use
-
- added configure option --with-fd-setsize to specify the maxium number of
- filedescriptor that can be used on select() based systems
-
- * config.c, main.c, opennap.h:
- added new config variable `collect_interval' to control the interval between
- garbage collection
-
- * buffer.c, change.c, level.c, login.c, napster.txt, opennap.h, privmsg.c, util.c:
- fixes to compile cleanly with --disable-debug
-
- added safe_realloc() function for detection of memory exhaustion
-
- 2000-02-27 drscholl <drscholl@users.sourceforge.net>
-
- * hotlist.c:
- print tag value out when the user attempts to add another user already in
- their hotlist
-
- * add_file.c, free_user.c, hotlist.c, resume.c, util.c:
- log() messages in add_file() and share_file() were missing the nick, causing
- a segfault
-
- 2000-02-26 drscholl <drscholl@users.sourceforge.net>
-
- * opennap.h, resume.c:
- rearranged members of the DATUM struct.
-
- added additional debug statement to resume()
-
- * add_file.c, opennap.h, search.c, synch.c:
- added a new content type CT_MP3 to serve as a default. CT_AUDIO doesn't
- necessarily mean audio/mp3
-
- * ChangeLog, FAQ, add_file.c, main.c, metaserver.c, opennap.h, search.c, synch.c:
- restored sharing of multimedia files.
-
- * ChangeLog:
- updated ChangeLog with recent changes
-
- * buffer.c, main.c:
- modified buffer_compress() to allocate one 16k output buffer and compresss
- as much data as will fit in it. this is necessary since queue_data() can
- now produce multiple 16k buffer chunks for server connections.
-
- 2000-02-25 drscholl <drscholl@users.sourceforge.net>
-
- * main.c:
- changed listen() queue backlog to a value of 50
-
- * README, main.c, opennap.h, server_usage.c:
- added number of global users, server start time, and server uptime to the
- 10115 server stats reply
-
- * kill_user.c:
- should set user->con->destroy=1 when killing a local user, not con->destroy
-
- * main.c, search.c:
- if multiple FILENAME CONTAINS clauses are specified, treat them as an
- implicit AND operation
-
- * Makefile.in, main.c, opennap.h, search.c:
- added a garbage collection routine to run every 60 seconds to free up memory
- associated with invalid entries
-
- * ChangeLog, Makefile.am, README, main.c, opennap.h, server_links.c:
- added new command 10112 to show the server links (colten edwards)
-
- * AUTHORS, ChangeLog, Makefile.am, Makefile.in, debug.c, debug.h, main.c, opennap.h, server_usage.c:
- added a new command 10115 for getting some useful information about the
- server (colten edwards)
-
- * upload_complete.c:
- upload_ok() was looking in the downloader's hash table for the file info,
- should be the uploader's table
-
- * main.c:
- forgot to uncomment the free_hash() on the File_Table
-
- * search.c:
- nick was printed using %d instead of %s when returing search results
-
- * search.c:
- fdb_search() should return if it can't find a search token in the hash table
- since we can be sure there are no matches
-
- * search.c: fixed bug in fdb_search()
-
- * ChangeLog, whois.c:
- minor whois change
-
- * browse.c, buffer.c, change.c, config.c, configure, configure.in, db.c, debug.c, debug.h, download.c, free_user.c, hash.c, login.c, main.c, opennap.h, remove_file.c, resume.c, search.c, server_connect.c, server_login.c, synch.c, upload_complete.c, util.c, add_file.c:
- wrote new database for storing the library. we now use a hash table based
- on word tokens in the filename, with a list of files for each word
-
- modified malloc debugger to use a hash table to store the allocation
- information because a single list was too slow for large amounts of data
-
- modified buffer_queue() to allocate chunks of memory and allocate a new
- buffer in the list if there is not enough room to append, instead of using
- realloc. this should improve performace
-
- began adding extra checks for when we run out of memory so that we can
- recover gracefully.
-
- 2000-02-24 drscholl <drscholl@users.sourceforge.net>
-
- * main.c:
- we should force a call to send_queued_data() in main() if the connection is
- about to be shut down. in this case we write as much as we can before we
- close the socket.
-
- * main.c:
- no longer necessary to check for existence of the client pointer because
- it won't be removed except by the main() routine itself.
-
- * buffer.c, kill_user.c, login.c, main.c, opennap.h, remove_connection.c, server_connect.c:
- remove_connection() should now only be called from the main() routine.
- other functions that wish the client connection to be shut down should
- set the .destroy memory to a nonzero value.
-
- * whois.c, change.c:
- username was printed out using %d instead of %s in alter_port()
-
- the whois response now inclues the server the user is connected to if the
- user level of the client issuing the request is admin+
-
- * buffer.c:
- send_queued_data() should call buffer_free() on the output buffer before
- calling remove_connection()
-
- * buffer.c, main.c:
- send_queued_data() should call remove_connection() instead of setting
- con->destroy=1 since it is safe to free the CONNECTION pointer at
- that point.
-
- 2000-02-23 drscholl <drscholl@users.sourceforge.net>
-
- * download.c: more logging in download()
-
- * buffer.c, client_quit.c, download.c, free_user.c, remove_file.c:
- need to call fudge_path() on filename before SQL query in remove_file()
-
- fixed download() to send the correct 203 command when the uploader is
- firewalled.
-
- added log messages for sending/receving client quit messages
-
- * download.c:
- queue_limit() should check for mysql_num_rows() > 0 before calling
- mysql_fetch_row()
-
- * client_quit.c, download.c, kill_user.c, napster.txt:
- fixed client_quit() to avoid calling hash_remove() when it detects a QUIT for
- a local user
-
- * ChangeLog, main.c:
- send_queued_data() should be called if there is uncompressed data waiting to
- be sent to the server
-
- * client_quit.c, download.c, kill_user.c, login.c, main.c, remove_file.c, upload_complete.c:
- reformatted log() messages for the upload/download functions
-
- 2000-02-22 drscholl <drscholl@users.sourceforge.net>
-
- * login.c, main.c:
- alter_port() was not listed in the handler callback table
-
- * download.c, kill_user.c:
- download() should use validate_user() instead of just VALID()
-
- use next_arg() in kill_user() instead of plain strchr()
-
- * buffer.c, change.c:
- fixed buffer_uncompress() to set .datamax when calling realloc().
-
- * ChangeLog, buffer.c, opennap.h:
- modified buffer_queue() to allocate memory in 1k chunks to avoid calling
- realloc() too often
-
- modified buffer_compress() to allocate memory in 2k chunks to avoid calling
- realloc() too often
-
- * ChangeLog, network.c, opennap.h, server_login.c:
- set SO_SNDBUF and SO_RCVBUF to 16k for server-server tcp connections
-
- * ChangeLog, change.c, opennap.h:
- added support for 613 command for admin to alter the data port the client is
- listening on (only works with the win32 clients)
-
- * ChangeLog, browse.c, buffer.c, config.c, main.c, napster.txt, opennap.h, resume.c, search.c:
- calls to write() should check for EWOULDBLOCK to avoid closing the
- connection unnecessarily
-
- added max_browse_result config variable to control the maxium number of
- entries returned on a /browse command (default 1500)
-
- allow max_search_result to be 0 to allow for arbitrary size searches
-
- * public.c:
- fixed bug where the first char of a public message gets chopped off
-
- * db.c, login.c, public.c, resume.c:
- reduced max filename size to 150 to try to avoid mysqld crashes.
-
- fixed bug in resume() where the md5 attribute was not quoted in the SQL
- query.
-
- change order in login() to wait until after the login/email ack has been
- sent before sending the notification of the user level being changed to
- avoid breaking the win32 client.
-
- 2000-02-19 drscholl <drscholl@users.sourceforge.net>
-
- * download.c:
- functions that call transfer_wrapper() need to check the return value
-
- * ChangeLog, add_file.c, config.c, configure, configure.in, login.c, main.c, metaserver.c, network.c, opennap.h, search.c:
- added fixes for clean compile under Solaris 2.6
-
- handle_connection() now prints the tag and how many bytes it is waiting for
- when it detects that it needs to wait for the whole data packet to arrive
-
- 2000-02-18 drscholl <drscholl@users.sourceforge.net>
-
- * README, main.c, opennap.h, privmsg.c, whois.c:
- mod+ users are now notified when someone does a /whois on them
-
- * db.c, debug.c, network.c, remove_connection.c:
- debug_malloc() should exit gracefully if memory runs out
-
- adjust the size of the filename field in the library SQL table to be 237
- chars. mysql 3.22.23 seems to crash if the fields is any longer.
-
- * README, db.c:
- optimized the library SQL table to use as small as possible size integers
-
- * remove_file.c:
- added more ASSERT() tests for Num_Files<0
-
- * free_user.c, remove_file.c, sample.conf:
- added debugging code to try and detect when Num_Files < 0
-
- * ChangeLog, Makefile.in, aclocal.m4, configure, configure.in:
- added AM_MAINTAINER_MODE macro to configure.in
-
- * search.c:
- fixed the search() function for the linespeed,bitrate&frequency attributes
- where an `&&' was not placed before the test in the SQL query string.
-
- 2000-02-17 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, NEWS, README, level.c, napster.txt:
- modified level() to update the db for registered accounts when a user's
- level is changed, so that it is persistent across logins
-
- * login.c:
- fixed bug in register_nick() where there was no "return;" when the MySQL
- query failed.
-
- * download.c, napster.txt:
- fixed broken queue limit server message (620) which did not include the file
- size
-
- * configure, configure.in, opennap.h:
- added --disable-random option to configure to turn off use of /dev/random
- on machines which have it
-
- 2000-02-16 drscholl <drscholl@users.sourceforge.net>
-
- * config.c, main.c, opennap.h:
- added listen_addr config variable to specify which interface to listen on
-
- * buffer.c, download.c, util.c:
- added better handling for bad input in the download functions
-
- validate_user() should check for at least a valid pointer on the .con member
- if its non-null
-
- * buffer.c:
- took extraneous assert() out of buffer_consume() to clean up error
- messages.
-
- * download.c:
- fixed compilation error in queue_limit()
-
- * download.c, main.c, napster.txt, opennap.h, server_login.c:
- added support for the user queue limit command (619/620)
-
- added additional debugging in server_login_ack()
-
- 2000-02-15 drscholl <drscholl@users.sourceforge.net>
-
- * login.c:
- added more debugging check for a duplicat login message sent from clients
-
- * login.c:
- added additional debugging output to login() and register_nick()
-
- * main.c:
- modified update_stats() to print the current system time
-
- * opennap.h, whois.c, add_file.c, buffer.c, change.c, hash.c, main.c:
- win32 port for 0.12
-
- 2000-02-14 drscholl <drscholl@users.sourceforge.net>
-
- * AUTHORS, ChangeLog, Makefile.am, Makefile.in, NEWS, announce.c, browse.c, buffer.c, change.c, config.c, db.c, download.c, free_user.c, join.c, login.c, main.c, md5.c, motd.c, network.c, opennap.dsp, opennap.dsw, opennap.h, part.c, part_channel.c, privmsg.c, public.c, remove_connection.c, remove_file.c, resume.c, search.c, server_connect.c, server_login.c, snprintf.c, synch.c, topic.c, upload_complete.c, util.c, whois.c:
- win32 port from "Damian Hodgkiss" <mian@thirty4.com>
-
- default client queue length set to 100kbytes
-
- 2000-02-13 drscholl <drscholl@users.sourceforge.net>
-
- * opennap.h, public.c, util.c:
- fixed broken emote() function to avoid segfaults
-
- 2000-02-12 drscholl <drscholl@users.sourceforge.net>
-
- * login.c, main.c, motd.c, napster.txt, opennap.h, public.c:
- added support for client request for motd (621)
-
- * main.c, napster.txt, opennap.h, public.c:
- added support for the emote (824) command
-
- 2000-02-11 drscholl <drscholl@users.sourceforge.net>
-
- * main.c, network.c, opennap.h:
- try_connect() needs to bind_interface() before calling connect()
-
- * network.c: oops, busted lookup_ip()
-
- * main.c, network.c:
- fixed broken log() format in handle_connection() when printing out the
- message received from a client is unknown
-
- * Makefile.am, Makefile.in, main.c:
- removed Id: from Makefile.am since it got passed to Makefile.in and was
- screwing things up
-
- * server_login.c:
- server_login() should send errors using message 0, not 404
-
- * login.c:
- added check for a nick with nonprintable ascii chars
-
- 2000-02-10 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, add_file.c, download.c:
- fixes for download_end() and upload_end() to prevent subtracting from the
- counts if the count is 0
-
- 2000-02-08 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, Makefile.am, Makefile.in, change.c, main.c, opennap.h, spynap.c:
- removed spynap from the distribution
-
- added support for the change email (702) command
-
- * TODO, change.c, main.c, napster.txt, opennap.h:
- added support for the change password (701) command
-
- * kill_user.c, login.c, opennap.h, whois.c:
- added support for the whowas (605) server response
-
- kill_user() did not skip the colon (:) prefix on the server name
-
- * login.c:
- register_nick() had compilation warnings about unused variables `pkt' and `len'
-
- * login.c:
- removed spurious colon (:) from the SQL query in reginfo()
-
- the colon (:) before the server name was not skipped in reginfo()
-
- * util.c:
- pass_message() should not assert on validate_connection() since it can be
- NULL when generating a new message.
-
- * free_user.c, login.c, opennap.h, synch.c, util.c:
- need to store the user password in order to do user registration on multiple
- servers
-
- 2000-02-07 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, configure, configure.in, network.c:
- freebsd does not have socklen_t, so add a check for it in configure.in
-
- 2000-02-05 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, NEWS, README, TODO, config.c, create_db.sql, login.c, main.c, opennap.h:
- added support for account registration
-
- 2000-02-04 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, main.c:
- change_speed() was not in the lookup table in main.c
-
- * Makefile.in, opennap.h, server_connect.c:
- fix to prevent server_connect() from tyring to link the same server twice
-
- * Makefile.in, add_file.c, change.c, configure, configure.in, free_user.c, main.c, napster.txt, opennap.h, remove_file.c, search.c, synch.c, util.c:
- removed minidb support.
-
- cleaned up search() routine.
-
- * Makefile.in, add_file.c, change.c, configure, configure.in, free_user.c, main.c, napster.txt, opennap.h, remove_file.c, search.c, synch.c, util.c:
- added support for a mini-db instead of MySQL for storing the library.
-
- * main.c, synch.c:
- fix to avoid looping endlessly when POLLHUP is set for a client connection.
-
- * main.c, search.c, synch.c, ChangeLog, Makefile.in:
- search() should return a 404 error if the search failed
-
- modified synch_server() to first sync the users and channels, then do a bulk
- dump of the library table in hopes of improving performance.
-
- 2000-02-03 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, Makefile.in, NEWS, add_file.c, configure, configure.in, main.c, metaserver.c, motd.c:
- added support for poll() on systems that support it
-
- fixed bug in share_file() where the escaped path was not used in the sql
- query to insert the row
-
- fixed bug in share_file() where the information on the file size was not
- incorporated into the global stats
-
- * Makefile.in, configure, configure.in, main.c, metaserver.c:
- added support for using poll() on systems that support it
-
- * add_file.c:
- share_file() forgot to quote the filename in the sql query
-
- fixed compute_soundex() to avoid generates hases over 4 chars long
-
- * ban.c, search.c:
- fixed bug in search() when specifying the TYPE field
-
- banlist() should return an empty ban request packet to indicate the end of
- the list.
-
- 2000-02-02 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, Makefile.am, Makefile.in, change.c, metaserver.c:
- change_speed() needs to update the library table to reflect a speed change
-
- * ChangeLog, Makefile.in, README, TODO, ban.c, buffer.c, debug.c, debug.h, free_user.c, hash.c, hotlist.c, kill_user.c, login.c, napster.txt, remove_connection.c, remove_file.c, resume.c, server_connect.c, synch.c, topic.c, util.c, whois.c:
- fixes to compile cleanly with debugging turned off (not recommended though)
-
- * Makefile.in, aclocal.m4, configure, configure.in, md5.h, server_login.c, util.c:
- finished integration of the md5 routines from GNU md5sum (textutils)
-
- * ChangeLog, Makefile.am, NEWS, global.h, md5.c, md5.h, md5c.c:
- removed md5.h, global.h and md5c.c since they don't work on Alpha, switch to
- using version from the md5sum program in GNU textutils
-
- * Makefile.in, aclocal.m4, add_file.c, buffer.c, compress.c, configure, debug.c, debug.h, hash.c, hash.h, main.c, metaserver.c, network.c, opennap.h, server_connect.c, server_login.c, util.c:
- fixes to compile under RedHat Linux 6.0 (Alpha)
-
- * buffer.c, login.c, main.c, opennap.h:
- if a client connects from localhost, the external ip address should be used
- so that remote users can connect to their data port
-
- 2000-02-01 drscholl <drscholl@users.sourceforge.net>
-
- * synch.c:
- fixed synch_user() so that it will not sync users that come from behind
- the server we are syncing with
-
- * public.c:
- fixed bug in public() where a middle server would rebroadcast all received
- messages ending up doubling the messages to clients
-
- * Makefile.am, Makefile.in, buffer.c, free_user.c, main.c, remove_connection.c:
- use `unsigned long' instead of ulong for portability
-
- fixed bug in handle_connection() where the call to add_random_bytes had
- arguments without con->
-
- server_split was issuing QUIT messages for all users when a server split
- happened.
-
- free_user() should check for user->email != 0 before free()ing it
-
- * README, add_file.c, opennap.h, synch.c:
- synch_user needed to use the new 10300 (share file) message to sync non-mp3
- data.
-
- share_file() now checks to make sure the content-type looks valid by
- inspecting the major MIME type
-
- added additional information on the new 10300 message to the README
-
- * ChangeLog, README, add_file.c, db.c, free_user.c, main.c, opennap.h, search.c, spynap.c:
- added support for sharing generic media types other than mp3
-
- * Makefile.am, Makefile.in, spynap.c:
- added md5 hash checking on downloads to spynap
-
- 2000-01-31 drscholl <drscholl@users.sourceforge.net>
-
- * main.c:
- assertion in dispatch_command was in error, the length really was 0xee. use
- VALID_LEN() to test for buffer overrun instead.
-
- * main.c, util.c:
- added additional ASSERT() in dispatch_command() to track down buffer overrun
-
- * buffer.c, free_user.c, ping.c:
- free_user() should not remove files from the db when a signal is caught, it
- should just free the memory assocated with the structure
-
- fixed bug in buffer_group() where the number of consumed bytes in the next
- buffer was not skipped
-
- ping/pong now xmit any optional arguments the clients pass to them
-
- 2000-01-30 drscholl <drscholl@users.sourceforge.net>
-
- * buffer.c:
- more fixes in attempt to solve the pop_user missing user nick on server
- message.
-
- changed buffer_validate() to not try to validate the ->next pointer other
- than it is a valid pointer.
-
- * buffer.c, util.c:
- buffer_compress() assumed that the input buffer was not already partially
- consumed. this should not happen, but it looks like it does in certain
- circumstances.
-
- * ChangeLog, add_file.c, buffer.c, main.c, napster.txt, search.c:
- changed add_file() to print out errors back the user when a file is not
- added to the db.
-
- changed add_file() to use a ulong instead of int for storing the file size.
-
- send_queued_data() did not print out the con->host even though there was a
- %s for it, caused a segfault.
-
- changed handle_connection() to ignore message 4 since the new napster
- v2.0beta5a sends it before the login command.
-
- search now ignores files belonging to the user who issued the command
-
- 2000-01-29 drscholl <drscholl@users.sourceforge.net>
-
- * README, main.c:
- handle_connection now prints out the message it received when it errors out
- becaues the client is not registered yet.
-
- * add_file.c:
- forgot to skip the backslash before sending the path to compute_soundex
-
- compute_soundex should skip nonalpha chars at the beginning of the string
-
- * ChangeLog, README, add_file.c, buffer.c, db.c, search.c:
- added support for soundex searches
-
- * Makefile.in, ban.c, login.c, main.c, spynap.c:
- login() was checking for CLASS_USER to set con->destroy when a banned user
- attempts to log in. It should have been checking for CLASS_UNKNOWN since
- the connection is not registered yet.
-
- added some nice output to some of the server numerics to spynap
-
- 2000-01-28 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, README, config.c, main.c, opennap.h, sample.conf:
- added max_connections config variable
-
- * Makefile.in, buffer.c, debug.c, kill_user.c, login.c, main.c, opennap.h, sample.conf, server_connect.c, server_login.c, util.c:
- debug_valid should return 0 on buffer overrun
-
- handler routines should set con->destroy=1 instead of calling
- remove_connection() since handle_connection() has a cached copy of the
- pointer. this is only necessary when destroying the connection for the
- source of the message being processed. destroying other connections is
- perfectly fine.
-
- buffer_uncompress() should allocate 1 extra byte similar to buffer_read()
-
- * Makefile.am, Makefile.in, README, add_file.c, announce.c, ban.c, browse.c, buffer.c, change.c, client_quit.c, compress.c, config.c, configure, configure.in, debug.c, debug.h, download.c, hash.c, hotlist.c, join.c, kill_user.c, level.c, list_channels.c, list_users.c, login.c, main.c, metaserver.c, motd.c, muzzle.c, network.c, opennap.h, part.c, patchnap.c, ping.c, privmsg.c, public.c, remove_connection.c, remove_file.c, resume.c, sample.conf, search.c, server_connect.c, server_login.c, spynap.c, spyserv.c, synch.c, topic.c, unmuzzle.c, upload_complete.c, util.c, whois.c:
- major rewrite of i/o handling. server->server links are now handled using
- a compressed stream.
-
- 2000-01-27 drscholl <drscholl@users.sourceforge.net>
-
- * NEWS, TODO, ping.c, sample.conf:
- final changes for 0.10 release.
-
- * README, db.c:
- primary key() can only be 256 bytes long, so change the nick length to 15
- and the filename length to 240.
-
- * ChangeLog, README, add_file.c, config.c, db.c, main.c, opennap.h, sample.conf:
- added max_shared variable to control how many files a user can share
-
- (owner,filename) is now the primary key to avoid duplicates.
-
- 2000-01-26 drscholl <drscholl@users.sourceforge.net>
-
- * util.c:
- max bytes per compression block was still set to debug level
-
- * Makefile.in, config.c, db.c, main.c, opennap.h, part_channel.c, sample.conf, util.c:
- fixed bug in calculate_chunk_length() where the size returned was the total
- length of the compressed data, and not the region.
-
- added max_compress configuration variable to control the maximum number of
- compressed packets to create in a single cycle, to avoid blocking client
- connections
-
- * compress.c, db.c, util.c:
- added additional error reporting to init_db()
-
- fixed bug in send_queued_data() when only a portion of the send buffer is
- compressed
-
- * network.c, util.c:
- the length of the compressed packet was 2 bytes too short
-
- moved my_ntoa() to network.c
-
- * README, compress.c, opennap.h, util.c:
- compressed_data() did not correctly handle the new packet format
-
- 2000-01-25 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.in, util.c:
- fixed send_queued_data() to ensure that compressed packets are less than
- 65535 bytes long.
-
- * Makefile.in, configure, configure.in, network.c:
- COMPRESSDOTO should be set in the check for libz, not /dev/random
-
- * ChangeLog, main.c, network.c, opennap.h:
- set SO_KEEPALIVE on tcp sockets to detect dead clients
-
- * ban.c: ban() should notify mods+ of the ban
-
- * ban.c, free_user.c, join.c, muzzle.c, napster.txt, opennap.h, public.c, remove_connection.c, unmuzzle.c, util.c:
- various bugfixes.
-
- * main.c:
- should ignore EAGAIN on read() without closing the connection
-
- * add_file.c, remove_connection.c:
- bug fix in add_file()
-
- * ChangeLog, kill_user.c:
- elites should be able to kill other elites
-
- * free_user.c:
- fixed memory leak in free_user() where .server was not free'd
-
- * login.c, synch.c, util.c:
- sync_user() didn't send a proper user-ip packet
-
- * README, login.c, opennap.h:
- changed user-ip message to include the locally connected port and the server
- the user is connected to
-
- * Makefile.am, Makefile.in, TODO, login.c, main.c, network.c, opennap.h, server_connect.c, server_login.c:
- changed server connect to be nonblocking. new file network.c contains most
- of the standard network routines.
-
- * ChangeLog:
- updated ChangeLog with today's changes
-
- * download.c, kill_user.c, level.c, main.c, opennap.h, server_connect.c, topic.c:
- fixed handle_connection() to not pass 404 messages to peer servers.
-
- added a 404 handler to notify the mods+ of the error message received
-
- added a 607 handler to pass the server message to a remote user
-
- * main.c, util.c:
- still more fixes for compressed data.
-
- * compress.c, config.c, main.c, opennap.h, sample.conf, util.c:
- added compression_threshold config var (default 8 kbytes) to controll when
- compression is applied in order to reduce load
-
- * Makefile.in, main.c, opennap.h, util.c:
- more fixes for compressed_data()
-
- * compress.c: fixed bug in compressed_data()
-
- * compress.c, main.c, util.c:
- another fix for compressed data packet. the uncompressed lenght was
- overwriting the compressed length.
-
- * Makefile.in, sample.conf, util.c:
- fixed bug in send_queued_data() when compressing packets
-
- * Makefile.am, Makefile.in:
- needed to add compress.o to opennap_DEPENDENCIES to get it to compile
-
- * Makefile.in, TODO:
- added rcs id tag to Makefile.am
-
- * compress.c: forgot to add compress.c to cvs
-
- 2000-01-24 drscholl <drscholl@users.sourceforge.net>
-
- * Makefile.am, Makefile.in, README, configure.in, sample.conf, synch.c:
- sync_user() should not flush data to peer servers now that compression
- support is in place, since it will defeat the benefits
-
- sync_user() did not relay the client ip address.
-
- * Makefile.am, Makefile.in, config.c, configure, configure.in, main.c, sample.conf:
- fixes for optional compilation with libz, since its not needed for standalone
- servers.
-
- * ChangeLog, Makefile.am, Makefile.in, README, config.c, configure, configure.in, main.c, opennap.h, util.c:
- added compressed data (10200) message, and "compression_level" variable
-
- * ChangeLog, config.c, main.c, napster.txt, opennap.h, remove_connection.c, resume.c, search.c, server_connect.c, util.c:
- added client_queue_length and server_queue_length config variables to tune the
- maximum queue lengths allowed
-
- fixed resume messages which used broken sequences %ul and %uh
-
- added max_results server config variable to control the maximum number of
- matches returned on a client search
-
- * ChangeLog, Makefile.in, opennap.h, server_connect.c:
- added server version (801) support
-
- * TODO, server_connect.c:
- fixed test for fields[2] being set to argc==3 in notify_mods() call from
- server_connect()
-
- * ChangeLog, Makefile.in, configure, configure.in, main.c, metaserver.c, opennap.h, server_connect.c, util.c:
- metaserver should write a \n after the ip:port
-
- send_queued_data() should return without doing anything if there is no data
- to send
-
- added check for /dev/random and substitute simple random number generation
- on systems without it
-
- * ChangeLog, server_connect.c:
- server_connect() should check the return from split_line() to get the number
- of arguments
-
- * ChangeLog, Makefile.in, add_file.c, config.c, configure, configure.in, debug.c, debug.h, hotlist.c, join.c, login.c, main.c, napster.txt, opennap.h, part.c, ping.c, privmsg.c, remove_connection.c, resume.c, search.c, server_connect.c, upload_complete.c, util.c, whois.c:
- added additional integrity checking to the validate_*() functions in
- debug mode
-
- server variables can be dynamically changed using the 810 client message
- (colten edwards)
-
- login() should ensure that the given speed is in the 0-10 range
-
- search() was sending the host using %d instead of %lu
-
- CONFIG struct now holds default values for variables, and functions
- config_defaults() and free_defaults() is used to manage the memory
-
- added macro VALID_LEN to test a pointer for enough allocated memory
-
- * ChangeLog, config.c, main.c, opennap.h, sample.conf:
- added option to specify the maximum number of channels a user may join.
-
- 2000-01-22 drscholl <drscholl@users.sourceforge.net>
-
- * README, download.c, opennap.h, util.c, whois.c:
- whois prints the dotted-quad form of the ip address, not an integer
-
- * ChangeLog, join.c, main.c, opennap.h:
- enforce a 5 channel limit for users
-
- added cl option to allow only privileged users to create channels
-
- * kill_user.c, login.c, util.c, whois.c:
- fixed another crash in login()
-
- whois was checking the level of the person getting whois'ed, not the
- person issuing the whois
-
- 2000-01-21 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, login.c, util.c:
- fix for bad password segfault in login
-
- * ChangeLog, hotlist.c, login.c:
- hotlist fix for users that are already logged in
-
- * ChangeLog, NEWS, README, login.c:
- fixed segfault in login(). split_line() does not write a 0 in the last
- element of the arrary, you have to check the return value for the size
-
- * README, main.c, opennap.h, privmsg.c, remove_connection.c, server_connect.c, server_login.c:
- added support for the server linking commands
-
- * level.c:
- backed out change because you cant set a level >= your own
-
- * level.c:
- fix so that users can set others to leech status
-
- * ChangeLog, TODO, ban.c, change.c, download.c, kill_user.c, level.c, login.c, muzzle.c, napster.txt, opennap.h, whois.c:
- ban did not record the time of the ban
-
- notify_mods changed to only notify local mods
-
- change data port command was not passed to peer servers
-
- added additional information to whois for moderators
-
- change set level command so that mods+ can change the level of a user below
- their level
-
- the 218-221 message were not passed to peer servers
-
- * ChangeLog, Makefile.am, Makefile.in, ban.c, login.c, main.c, opennap.h:
- added support for ban, unban and banlist (612, 614, 615, 616, 629)
-
- * README, db.c, login.c, opennap.h:
- login should report error on nick already in use to the client before
- disconnecting it
-
- 2000-01-20 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, README, TODO, announce.c, download.c, hash.h, kill_user.c, level.c, login.c, main.c, muzzle.c, opennap.h, server_connect.c, synch.c, topic.c, unmuzzle.c, whois.c:
- changed user level from bitmask to integer.
-
- kill and muzzle operations now notify all mods+
-
- added the wallop command (627)
-
- user levels are now leech, user, moderator, admin and elite.
-
- change server operator to elite instead of admin.
-
- * napster.txt, opennap.h:
- added some additional protocol information to napster.txt
-
- * metaserver.c:
- fixes for bsdi 4.1. accept's 3rd arg should be socklen_t
-
- * login.c, main.c, opennap.h, server_connect.c:
- fixes for compilation under bsdi 4.1
-
- * ChangeLog, configure, configure.in, download.c, main.c, opennap.h, server_connect.c, util.c:
- endian checking was made more portable. now use autoconf to define
- WORDS_BIGENDIAN where appropriate.
-
- * ChangeLog, main.c:
- update_stats() now prints a message to the log with the current total
- library size.
-
- * add_file.c, free_user.c, main.c, opennap.h, remove_file.c:
- server now stores internal library size in kilobytes to avoid rounding
- errors.
-
- * ChangeLog, FAQ, NEWS, README, hash.c, login.c:
- channel and user names are now case insensitive.
-
- * ChangeLog, Makefile.am, Makefile.in, configure, configure.in, hotlist.c, join.c, login.c, main.c, metaserver.c, opennap.h, search.c, server_connect.c, util.c:
- added additional debugging sanity checking for major structures.
-
- * ChangeLog, Makefile.am, Makefile.in, configure, configure.in, spynap.c:
- configure now will look for mysql in /usr/local as well as /usr
-
- * ChangeLog, TODO, hotlist.c, login.c, main.c, napster.txt, opennap.h, spynap.c, util.c:
- fixed hotlist bug which crashed the server.
-
- 2000-01-19 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, change.c, napster.txt, opennap.h:
- added support for the change speed command (700)
-
- * download.c, main.c, napster.txt, opennap.h, spynap.c:
- added support for 626 (data port error)
-
- added download support to spynap reference client
-
- 2000-01-18 drscholl <drscholl@users.sourceforge.net>
-
- * NEWS, README, spynap.c:
- began to add download support to spynap. /search and /browse results are
- now cached, and you can do /get <n> to request a file. downloading does not
- actually work yet.
-
- 2000-01-17 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, README, login.c, main.c, opennap.h, search.c, spyserv.c:
- login() did not set the user->host field so transfers between different
- machines would fail.
-
- format_request() did not terminate the output string.
-
- added 10013 numeric for passing the ip address of clients to peer servers
-
- 2000-01-16 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, download.c, main.c, napster.txt, opennap.h, search.c, spyserv.c, upload_complete.c:
- added support for downloading from firewalled clients (500,501)
-
- search patterns need to have %, ', _ and \ quoted in the SQL query
-
- 2000-01-15 drscholl <drscholl@users.sourceforge.net>
-
- * ChangeLog, Makefile.am, Makefile.in, download.c, download_ack.c, main.c, napster.txt, opennap.h, spyserv.c, upload_complete.c:
- fixed download problem where the 204 message was sending the information
- for the person making the request, not the person holding the file.
-
- added -l option to specify the local port on the spyserv agent
-
- * ChangeLog, configure, configure.in, db.c, download.c, download_ack.c, main.c, opennap.h, upload_complete.c:
- fixed several of the download numerics since they were not doing what
- the protocol specifies.
-
- 2000-01-14 drscholl <drscholl@users.sourceforge.net>
-
- * add_file.c, download.c, main.c, opennap.h, util.c:
- fixed DOS filename quoting in download()
-
- added SO_REUSEADDR option to main socket
-
- * add_file.c:
- single quote needs to be escaped too.
-
- * add_file.c, spynap.c:
- DOS backslashes need to be quoted before adding to the SQL database.
-
- * patchnap.c:
- offset was off by one in patchnap.c
-
- * ChangeLog:
- post release changelog update (oops)
-
- * hotlist.c:
- hotlist contains list of CONNECTION, not USER.
-
- * configure, configure.in:
- updated configure.in to version 0.07
-
- * AUTHORS, Makefile.am, Makefile.in, NEWS, announce.c, client_quit.c, close_db.c, db.c, debug.c, debug.h, download.c, download_ack.c, free_user.c, hash.c, hash.h, metaserver.c, motd.c, muzzle.c, opennap.h, part_channel.c, patchnap.c, remove_connection.c, remove_file.c, resume.c, server_connect.c, server_login.c, spynap.c, spyserv.c, synch.c, unmuzzle.c, upload_complete.c:
- final email address fixes in copyright notices
-
- removed spyserv and spynap from the default build list. now we just include
- the sources.
-
- updated to version 0.07.
-
- 2000-01-13 drscholl <drscholl@users.sourceforge.net>
-
- * change.c:
- forgot to add change.c to the CVS repository
-
- * configure, configure.in, main.c, util.c, NEWS, config.c:
- updated some more email addresses in the copyright notices
-
- updated version number to 0.06
-
- * ChangeLog, Makefile.am, Makefile.in, TODO, add_file.c, browse.c, hotlist.c, join.c, kill_user.c, level.c, list_channels.c, list_users.c, login.c, main.c, napster.txt, opennap.h, part.c, ping.c, privmsg.c, public.c, search.c, spynap.c, topic.c, whois.c:
- fixed email address in many copyright notices
-
- added support for the change data port (703) command
-
- added #define for HANDLER to be used as a prototype for all protocol handler
- routines
-
- 2000-01-12 drscholl <drscholl@users.sourceforge.net>
-
- * TODO, debug.h, hash.h, main.c, opennap.h, spynap.c:
- fixed copyright notices on some files.
-
- fixed segmentation fault in new read() loop in handle_connection().
-
- fixed broken /browse command in spynap.
-
- * ChangeLog, Makefile.in, main.c, opennap.h, remove_connection.c:
- each connection is now given its own input buffer so that we can use
- nonblocking read() calls.
-
- * ChangeLog, TODO, add_file.c, remove_file.c, search.c, spynap.c, util.c:
- array_add() should not assert if the list is empty
-
- server was reporting library size in MB, not GB
-
- search strings should have spaces converted to % for SQL queries
-
- added a /msg command to the spynap sample client
-
- 2000-01-11 drscholl <drscholl@users.sourceforge.net>
-
- * spynap.c:
- Updated the spynap client application to add a few more text commands for
- easier use in testing other numerics.
-
- * AUTHORS, NEWS, add_file.c, announce.c, browse.c, client_quit.c, config.c, db.c, debug.c, download.c, download_ack.c, free_user.c, hash.c, hotlist.c, join.c, kill_user.c, level.c, list_channels.c, list_users.c, login.c, main.c, metaserver.c, motd.c, muzzle.c, napster.txt, part.c, part_channel.c, ping.c, privmsg.c, public.c, remove_connection.c, remove_file.c, resume.c, search.c, server_connect.c, server_login.c, spynap.c, spyserv.c, synch.c, topic.c, unmuzzle.c, upload_complete.c, util.c, whois.c:
- Updated copyright notice to reflect new year and new email address.
-
- * .indent.pro, FAQ, client_quit.c, create_db.sql, global.h, hotlist.c, level.c, list_channels.c, list_users.c, md5.h, md5c.c, metaserver.c, muzzle.c, napster.txt, ping.c, remove_file.c, resume.c, sample.conf, sample.motd, server_connect.c, server_login.c, spynap.c, spyserv.c, synch.c, topic.c, unmuzzle.c, upload_complete.c, util.c:
- Initial import of the opennap-0.05 work in progress.
-
- * .indent.pro, FAQ, client_quit.c, create_db.sql, global.h, hotlist.c, level.c, list_channels.c, list_users.c, md5.h, md5c.c, metaserver.c, muzzle.c, napster.txt, ping.c, remove_file.c, resume.c, sample.conf, sample.motd, server_connect.c, server_login.c, spynap.c, spyserv.c, synch.c, topic.c, unmuzzle.c, upload_complete.c, util.c:
- New file.
-
- * add_file.c, announce.c, browse.c, close_db.c, config.c, configure, configure.in, db.c, debug.c, debug.h, download.c, download_ack.c, free_user.c, hash.c, hash.h, install-sh, join.c, kill_user.c, login.c, main.c, missing, mkinstalldirs, motd.c, opennap.h, part.c, part_channel.c, privmsg.c, public.c, remove_connection.c, search.c, whois.c:
- Initial import of the opennap-0.05 work in progress.
-
- * add_file.c, announce.c, browse.c, close_db.c, config.c, configure, configure.in, db.c, debug.c, debug.h, download.c, download_ack.c, free_user.c, hash.c, hash.h, install-sh, join.c, kill_user.c, login.c, main.c, missing, mkinstalldirs, motd.c, opennap.h, part.c, part_channel.c, privmsg.c, public.c, remove_connection.c, search.c, whois.c:
- New file.
-
- * INSTALL, Makefile.am, NEWS, TODO, aclocal.m4:
- Initial import of the opennap-0.05 work in progress.
-
- * INSTALL, Makefile.am, NEWS, TODO, aclocal.m4:
- New file.
-
- * AUTHORS, COPYING, ChangeLog, Makefile.in, README:
- Initial import of the opennap-0.05 work in progress.
-
- * AUTHORS, COPYING, ChangeLog, Makefile.in, README:
- New file.
-
-